WeatherMap label issues after Ubuntu 24/php8.3 update

Hello Everyone,

I have a strange one after updating my librenms server. My WeatherMap labels become squished the more they are rotated towards vertical. I have attached a screenshot of the issue. I’m guessing it has to do with one of the dependencies and it’s updated version.

I am using a truetype font option in the MapStyle since it is the only type that supports rotation and it was working prior to the upgrade. I suspect it’s to do with the php8.3-gd lib. I’ll continue to refine my Google Foo but I haven’t found anything yet.

here is my anonymized map config file

# Automatically generated by php-weathermap v0.98b

FONTDEFINE 10 /opt/librenms/html/plugins/Weathermap/configs/PTS55F-webfont.ttf 14

WIDTH 1400
HEIGHT 900
HTMLSTYLE overlib
TITLE Wan
HTMLOUTPUTFILE output/wan.html
IMAGEOUTPUTFILE output/wan.png
TIMEPOS 1218 14 Created: %b %d %Y %H:%M:%S

KEYPOS DEFAULT 1281 708 Traffic Load
KEYTEXTCOLOR 0 0 0
KEYOUTLINECOLOR 0 0 0
KEYBGCOLOR 255 255 255
BGCOLOR 255 255 255
TITLECOLOR 0 0 0
TIMECOLOR 0 0 0
SCALE DEFAULT 0    0    192 192 192  
SCALE DEFAULT 0    1    255 255 255  
SCALE DEFAULT 1    10   140   0 255  
SCALE DEFAULT 10   25    32  32 255  
SCALE DEFAULT 25   40     0 192 255  
SCALE DEFAULT 40   55     0 240   0  
SCALE DEFAULT 55   70   240 240   0  
SCALE DEFAULT 70   85   255 192   0  
SCALE DEFAULT 85   100  255   0   0  

SET key_hidezero_DEFAULT 1

# End of global section


# TEMPLATE-only NODEs:
NODE DEFAULT
	LABELFONT 5
	MAXVALUE 100


# TEMPLATE-only LINKs:
LINK DEFAULT
	WIDTH 5
	COMMENTSTYLE center
	BWSTYLE angled
	BWFONT 10
	BWLABEL bits
	BANDWIDTH 100M


# regular NODEs:
NODE node07100
	LABEL XXX...XXX
	ICON images/Cloud-line.png
	POSITION 850 437

NODE 3
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=2/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=2&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 210 438

NODE 4
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=4/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=4&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 350 40

NODE 5
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=5/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=5&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 525 40

NODE 6
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=6/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=6&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 675 40

NODE 8
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=8/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=8&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1075 40

NODE 9
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=9/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=9&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 950 40

NODE 11
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=11/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=11&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1340 179

NODE node09590
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=2/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=2&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 825 40

NODE 10
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=10/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=10&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1340 275

NODE 12
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=12/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=12&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1340 400

NODE 13
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=13/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=13&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1340 525

NODE 14
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=14/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=14&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1340 650

NODE 15
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=15/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=15&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 80 320

NODE 16
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=16/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=16&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 850 840

NODE 17
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=17/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=17&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1025 840

NODE 18
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=18/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=18&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 500 840

NODE 19
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=19/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=19&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 675 840

NODE 20
	LABEL XXX...XXX
	LABELOFFSET N
	INFOURL /device/device=20/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=20&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 80 450

NODE 21
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=21/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=21&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 80 750

NODE 22
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=22/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=22&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 150 840

NODE 24
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=24/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=24&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 325 840

NODE 25
	LABEL XXX...XXX
	LABELOFFSET S
	INFOURL /device/device=25/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=25&type=device_bits&legend=no
	ICON images/Router.png
	POSITION 1200 840

NODE 27
	LABEL XXX...XXX
	INFOURL /device/device=27/
	OVERLIBGRAPH /graph.php?height=100&width=512&device=27&type=device_bits&legend=no
	ICON images/Firewall.png
	POSITION 486 252

NODE node06062
	LABEL XXX...XXX
	INFOURL /device/device=27/
	ICON images/Cloud-line.png
	POSITION 100 63


# regular LINKs:
LINK 3-node07100
	INFOURL /graphs/type=port_bits/id=3/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=3&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id3.rrd:INOCTETS:OUTOCTETS
	NODES 3 node07100
	BANDWIDTH 1000M

LINK 4-node07100
	INFOURL /graphs/type=port_bits/id=4399/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4399&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4399.rrd:INOCTETS:OUTOCTETS
	NODES 4:0:0 node07100:0:0
	BANDWIDTH 200M

LINK 5-node07100
	INFOURL /graphs/type=port_bits/id=4455/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4455&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4455.rrd:INOCTETS:OUTOCTETS
	NODES 5 node07100

LINK 6-node07100
	INFOURL /graphs/type=port_bits/id=4470/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4470&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4470.rrd:INOCTETS:OUTOCTETS
	NODES 6 node07100

LINK 8-node07100
	INFOURL /graphs/type=port_bits/id=4463/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4463&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4463.rrd:INOCTETS:OUTOCTETS
	NODES 8 node07100

LINK 9-node07100
	INFOURL /graphs/type=port_bits/id=4441/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4441&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4441.rrd:INOCTETS:OUTOCTETS
	NODES 9 node07100

LINK 11-node07100
	INFOURL /graphs/type=port_bits/id=4462/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4462&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4462.rrd:INOCTETS:OUTOCTETS
	NODES 8 node07100

LINK 10-node07100
	INFOURL /graphs/type=port_bits/id=4434/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4434&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4434.rrd:INOCTETS:OUTOCTETS
	NODES 10 node07100

LINK 12-node07100
	INFOURL /graphs/type=port_bits/id=4448/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4448&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id4448.rrd:INOCTETS:OUTOCTETS
	NODES 12 node07100

LINK 13-node07100
	INFOURL /graphs/type=port_bits/id=4484/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4484&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4484.rrd:INOCTETS:OUTOCTETS
	NODES 13 node07100

LINK 14-node07100
	INFOURL /graphs/type=port_bits/id=4477/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4477&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id4477.rrd:INOCTETS:OUTOCTETS
	NODES 14 node07100

LINK 16-node07100
	INFOURL /graphs/type=port_bits/id=844/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=844&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id844.rrd:INOCTETS:OUTOCTETS
	NODES 16 node07100

LINK 17-node07100
	INFOURL /graphs/type=port_bits/id=863/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=863&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id863.rrd:INOCTETS:OUTOCTETS
	NODES 17 node07100

LINK 18-node07100
	INFOURL /graphs/type=port_bits/id=4356/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4356&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4356.rrd:INOCTETS:OUTOCTETS
	NODES 18 node07100

LINK 19-node07100
	INFOURL /graphs/type=port_bits/id=901/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=901&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id901.rrd:INOCTETS:OUTOCTETS
	NODES 19 node07100

LINK 20-21
	INFOURL /graphs/type=port_bits/id=929/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=929&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id929.rrd:INOCTETS:OUTOCTETS
	NODES 20 21

LINK 21-node07100
	INFOURL /graphs/type=port_bits/id=939/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=939&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id939.rrd:INOCTETS:OUTOCTETS
	NODES 21 node07100
	BANDWIDTH 200M

LINK 22-node07100
	INFOURL /graphs/type=port_bits/id=958/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=958&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id958.rrd:INOCTETS:OUTOCTETS
	NODES 22 node07100

LINK 24-node07100
	INFOURL /graphs/type=port_bits/id=1095/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=1095&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id1095.rrd:INOCTETS:OUTOCTETS
	NODES 24 node07100

LINK 27-node07100
	WIDTH 7
	INFOURL /graphs/type=port_bits/id=1141/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=1141&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id1141.rrd:INOCTETS:OUTOCTETS
	NODES 27 node07100
	BANDWIDTH 1000M

LINK 27-node06062
	WIDTH 7
	INFOURL /graphs/type=port_bits/id=1140/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=1140&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id1140.rrd:INOCTETS:OUTOCTETS
	NODES 27 node06062
	BANDWIDTH 1000M

LINK 15-node06062
	INFOURL /graphs/type=port_bits/id=4401/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4401&type=port_bits&legend=no
	BWLABELPOS 70 25
	TARGET ./XXX...XXX/port-id4401.rrd:INOCTETS:OUTOCTETS
	NODES 15 node06062
	BANDWIDTH 80M 40M

LINK node07100-25
	INFOURL /graphs/type=port_bits/id=1114/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=1114&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id1114.rrd:OUTOCTETS:INOCTETS
	NODES node07100 25

LINK node09590-node07100
	INFOURL /graphs/type=port_bits/id=3838/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=3838&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id3838.rrd:INOCTETS:OUTOCTETS
	NODES node09590 node07100
	BANDWIDTH 300M

LINK 8-11
	INFOURL /graphs/type=port_bits/id=4464/
	OVERLIBGRAPH /graph.php?height=100&width=512&id=4464&type=port_bits&legend=no
	TARGET ./XXX...XXX/port-id4464.rrd:INOCTETS:OUTOCTETS
	NODES 8 11



# That's All Folks!

I ran into this issue today on a Cacti server and came across your post.

After fixing the issue myself, I figured I could offer you, and anyone else who runs into this, my resolution.

libraqm0 is the culprit. Downgrade to version 0.7.0 from Jammy (0.7.0-4 : libraqm0 : amd64 : Jammy (22.04) : Ubuntu) and hold it via apt to prevent it from reupgrading to the broken release.

The php-gd and libgd guys seem to be aware and it seems that Debian just didn’t include the right combination of releases to not run into this.

didn’t know abous this issue, but (as ancient weathermap user), I would say that the current custom map built-in in librenms are a good alternative to Network WeatherMap;
I still use WeatherMap on some environment (and from the screenshot you attached, your may be one of this case), but I suggest to evaluate even librenms Custom Map, as they are great for many simpler situations. :wink:

Thanks for pointing out the new Custom maps feature. Unfortunately I don’t say up to date on changes the libre unless they affect my monitoring display. I’ve redrawn my weathermap and the devs have done a great job on the interface so far.

1 Like