Opened 17 years ago
Closed 16 years ago
#2042 closed defect (invalid)
Curved Labels cause MapScript crash on RedHat 7.2
Reported by: | Owned by: | sdlime | |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | MapScript | Version: | 4.10 |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
Activating curved labels on RedHat 7.2 seems to cause a MapScript crash (blank map). Installed dependencies are PHP 4.4.4, GDAL 1.3.2, Geos 2.2.3, GD 2.0.33, Freetype 2.2.1, Curl 7.15.4 and Proj 4.4.9. PHP is installed as an Apache module, not CGI. /var/log/messages reports an apache crash though httpd is still alive : kernel: grsec: From 217.xxx.xxx.xxx: signal 11 sent to /usr/local/apache/bin/httpd[httpd:29737] uid/euid:510/510 gid/egid:100/100, parent /usr/local/apache/bin/httpd[httpd:8507] uid/euid:0/0 gid/egid:0/0 here is a sample map that causes such a problem : LAYER NAME "Canalisations_etiquette" GROUP "Eau Potable" METADATA "REQUETEUR" "0" "CONTOUR" "0" "ETIQUETTE" "1" "TEXTEFIXE" "0" END #MetaData TYPE LINE STATUS ON DATA "AEP_CANA_etiquette" LABELITEM "DIAMMAT" LABELMAXSCALE 30000 CLASS NAME "Class_Canalisations_Etiquette" LABEL COLOR 0 0 0 FONT "Arial" FORCE True OFFSET 0 0 POSITION UC ANGLE FOLLOW TYPE TRUETYPE SIZE 4.88 END #Label END #Class SYMBOLSCALE 2000 MAXSCALE 20000 MINSCALE 0 END #LayerEtiquette MapScript was build with no errors using the following configuration : ./configure --with-proj --with-wmsclient --with-ogr --with-libwww --with-gdal --enable-runpath --enable-debug --without-tiff --with-gd=/usr/local --with-freetype=/usr --with-threads --with-curl-config=/usr/local/bin/curl-config --with-wfs --with-wcs --with-wmsclient -with-wfsclient --with-php=/usr/local --with-geos=/usr/local/bin/geos-config --with-mapscript Using the same mapfile and project (and same options for building MapScript) on a different linux distribution like Debian or even MS Windows works perfectly. I reproduced the same error in a RH7 virtual machine using php4.4.2, geos 3.0.0rc2 and libgd 2.0.29, so the problem seems linked to the RedHat 7 distribution to me. I didn't find any useful information searching the different mapserver related forums. I hope I've been clear enough despite of my poor english.
Change History (13)
comment:2 by , 17 years ago
Hi Steve, I searched for a libgd installed somewhere else on my system (and I found some) as you suggested : #rpm -e gd-devel #rpm -e gd #locate gd.h (found in /usr/include and /usr/local/include) #cd /usr/local/include #rm -f gd.h gd_io.h gdcache.h gdfont*.h #cd /usr/include #rm -f gd.h gd_io.h gdcache.h gdfont*.h At this point, I guess GD was totally cleaned out from the system, so I rebuilt and installed it again : #cd /usr/src/gd-2.0.33 #./configure && make clean && make && make install #ldconfig Then I rebuilt MapScript but unfortunately the blank page still occurs when I activate the layer containing curved labels... Any idea ?
comment:4 by , 17 years ago
I just rebuilt PHP, and compiled MapScript again but it still doesn't work... I just don't understand what's wrong...
comment:5 by , 17 years ago
There must still be some other GD on the system, that's the only thing I can think of. Doesn't PHP come with it's own version? If you use shp2img on your mapfile does that crash? Steve
comment:6 by , 17 years ago
You are right, PHP comes with its own version of GD so I disabled it by using : #./configure --without-gd I built and installed PHP again. I cleaned GD again from my system as I did before, plus I uninstalled it from sources : #cd /usr/src/gd-2.0.33 #make uninstall #ldconfig #./configure && make clean && make && make install #ldconfig Then rebuilt MapScript, restarted Apache, but that still doesn't work... About shp2img (I'm not that familiar to shp2img so excuse me if I made errors) : #shp2img -m /www/htdocs/demo/htdocs/demo.map -o output =>generates a file in which I can see my map, full zoom out, but I don't see the layer containing curved labels as the zoom level is too low. #shp2img -m /www/htdocs/demo/htdocs/demo.map -o output -l "Canalisations_etiquette" =>generates a blank image just as it does when using PHP/MapScript... If I still have an old GD version installed somewhere, I really wonder where it is because #locate gd.h only shows me the GD install I made from sources. Damn RedHat...
comment:7 by , 17 years ago
Just forgot to mention what I made to ensure GD was totally cleaned out : #locate libgd #rm -f libgd.* //from everywhere locate found it Then re-installed GD from sources...
comment:8 by , 17 years ago
What do you get if you do a "ldd shp2img"? Note that it is definitely worth upgrading to gd 2.0.34 (see www.libgd.org)... Steve
comment:9 by , 17 years ago
[root@localhost mapserver-4.10.0]# ldd shp2img libgd.so.2 => /usr/local//lib/libgd.so.2 (0x40018000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40074000) libfreetype.so.6 => /usr/local//lib/libfreetype.so.6 (0x40093000) libpng.so.3 => /usr/local//lib/libpng.so.3 (0x4010a000) libproj.so.0 => /usr/local//lib/libproj.so.0 (0x40138000) libgdal.so.1 => /usr/local//lib/libgdal.so.1 (0x4016c000) libcurl.so.4 => /usr/local//lib/libcurl.so.4 (0x40567000) libssl.so.2 => /lib/libssl.so.2 (0x405a8000) libcrypto.so.2 => /lib/libcrypto.so.2 (0x405d5000) libdl.so.2 => /lib/libdl.so.2 (0x40698000) libgeos_c.so.1 => /usr/local//lib/libgeos_c.so.1 (0x4069c000) libpthread.so.0 => /lib/i686/libpthread.so.0 (0x406aa000) libstdc++.so.6 => /usr/local//lib/libstdc++.so.6 (0x406bf000) libm.so.6 => /lib/i686/libm.so.6 (0x4079f000) libc.so.6 => /lib/i686/libc.so.6 (0x407c2000) libgcc_s.so.1 => /usr/local//lib/libgcc_s.so.1 (0x408fd000) libfontconfig.so.1 => /usr/local//lib/libfontconfig.so.1 (0x40906000) libpng12.so.0 => /usr/local//lib/libpng12.so.0 (0x40939000) libgeos.so.2 => /usr/local//lib/libgeos.so.2 (0x40967000) librt.so.1 => /lib/librt.so.1 (0x40a6e000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40a81000) I just tried installing GD 2.0.34 but it still doesn't work.
comment:10 by , 17 years ago
Why the //'s in the paths for libraries in /usr/local/? This is tough to debug because you're not getting a core dump or anything correct? Might have to take this one to the user list too. Steve
comment:11 by , 17 years ago
I don't understand where those "//" are coming from... ld.conf.so doesn't show such double slashes... Should I update binutils ?? What do you mean by "core dump" ? I just installed a whole new RedHat 7.2 into a virtual machine. I carefully prevented RedHat from installing its own version of GD and change several parameters regarding to our production server (PHP as a CGI instead of Apache module, GCC 4.0 instead of 3.4 and so on...) I'll keep you informed when I'll finish compiling everything.
comment:12 by , 17 years ago
OK, as I was telling you, I just installed everything again into a virtual machine and everything is working perfectly. I guess you were right when thinking about a GD version conflict. Unfortunately the problem with curved labels occurs on our dedicated server and I just can't install RedHat again because we also have a web site running on that machine. Any help on how to definately clear off that Redhat's GD would be greatly appreciated. Could this have something to do with ldconfig ??
comment:13 by , 16 years ago
Description: | modified (diff) |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.