[mapserver-users] msProcessProjection(): Projection libraryerror.no system list, errno: 13
Rahkonen Jukka
Jukka.Rahkonen at mmmtike.fi
Tue Oct 13 03:01:49 PDT 2009
Hi,
I fear I can't help you more with this. There might be something wrong with environment settings or in compiling Mapserver but I only use MS4W so I have never suffered from these problems.
-Jukka-
________________________________
Lähettäjä: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta Adrian Popa
Lähetetty: 13. lokakuuta 2009 11:59
Vastaanottaja: Rahkonen Jukka
Kopio: mapserver-users at lists.osgeo.org
Aihe: Re: [mapserver-users] msProcessProjection(): Projection libraryerror.no system list, errno: 13
Hello Jukka,
I have added the PROJ_LIB statement in the map file. Unfortunately, nothing changes... strace still shows that shp2img tries to read /usr/share/proj/null (and it succeeds).
I have added the line with the google projection to the end of the epsg (and null) file.
I still get the same error.
Is there any way I can call proj + some parameters to ask for a projection between WGS84 to Google? I'd like to close in on the problem.
Thanks,
Adrian
Rahkonen Jukka wrote:
Hi,
First, it is possible to tell Mapserver where to find the projection files in the mapfile, in MAP section. Excerpt from http://www.mapserver.org/mapfile/map.html
PROJ_LIB [path]
The CONFIG parameter can be used to define the location of your EPSG files for the Proj.4 library. Setting the [key] to PROJ_LIB and the [value] to the location of your EPSG files will force PROJ.4 to use this value. Using CONFIG allows you to avoid setting environment variables to point to your PROJ_LIB directory. Here are some examples:
Unix
CONFIG "PROJ_LIB" "/usr/local/share/proj/"
Second, Mapserver epsg file ships without Google projection. Without adding the definition it is impossible to refer to epsg:900913 projection with the code number. Have you added corresponding line to the epsg file, whitch is usually in /usr/share/proj/epsg?
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs
Put it on the first line so Mapserver finds it immediately without a need to go through the whole list.
-Jukka Rahkonen-
________________________________
L�hett�j�: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta Adrian Popa
L�hetetty: 13. lokakuuta 2009 10:55
Vastaanottaja: Lars Lingner
Kopio: mapserver-users at lists.osgeo.org
Aihe: Re: [mapserver-users] msProcessProjection(): Projection library error.no system list, errno: 13
Update:
I have symlinked the null file to epsg, and now strace shows that the file is read, but I still get the same error when trying to call WMS GetMap... :(
[root at terra map]# ls -l /usr/share/proj/null
lrwxrwxrwx 1 root root 20 Oct 13 10:50 /usr/share/proj/null -> /usr/share/proj/epsg
Adrian Popa wrote:
Thank you for your reply Lars, my info is inline.
Lars Lingner wrote:
Adrian Popa schrieb:
Hmm, any idea on this one? How can I find out if proj is trying to read
the epsg file? I'm thinking of using strace to see what files it tries
to open, but I don't know what syntax to use to try to project from 4326
to 900913...
Just to clarify:
- Your data is in wgs84 (epsg:4326)
Yes
- you want to serve mercator projection (epsg:900913)
Yes (the frontend will be OpenLayers (through TileCache)
A few questions:
- are there any errors in the capabilities document?
No, it looks ok. I can post it if you want, but it's a bit large. It outputs an XML which describes the layers, projections and some settings from the map file. I haven't seen another working GetCapabilites file, so I can't tell if it's missing something...
- did you tried to use mapserver logging (MS_ERRORFILE) and high debug
level (DEBUG 5)
Here is the output after enabling MS_ERRORFILE and DEBUG 5 at layer level and at map level:
[Tue Oct 13 10:36:36 2009].954434 msProcessProjection(): Projection library error. no system list, errno: 13
[Tue Oct 13 10:36:36 2009].954562 mapserv request processing time (msLoadMap not incl.): 0.000s
[Tue Oct 13 10:36:36 2009].954584 msFreeMap(): freeing map at 0x8496ac8.
[Tue Oct 13 10:36:36 2009].954651 freeLayer(): freeing layer at 0x84a9378.
- could you try to use shp2img, maybe this gives you a bit more information?
[root at terra map]# shp2img -o /tmp/out.png -m /var/www/html/map/rtc_base.map -e "20.259999999999998 43.16 29.700000000000003 49.2016" -s "1250 800" -l "GranitaJudete"
This works just fine (however it doesn't use WMS!). The image displayed is correct (and it is projected in mercator projection!).
If I run:
[root at terra map]# strace shp2img -o /tmp/out.png -m /var/www/html/map/rtc_base.map -e "20.259999999999998 43.16 29.700000000000003 49.2016" -s "1250 800" -l "GranitaJudete" 2>&1 | grep epsg
.. I don't get any matches on the epsg file that is supposed to be used by proj.
Looking through the output of strace, I can see it tries to open some proj-related files...
open("/usr/share/proj/proj_def.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/proj/null", O_RDONLY) = -1 ENOENT (No such file or directory)
I wonder why it tries to open a file called null - maybe an error?
- did you compile MapServer and the dependencies by yourself?
Yes. These are my configure arguments:
./configure --with-freetype --with-png --with-agg=../agg-2.5 --with-proj --with-ogr --with-gdal --with-xml2 --with-wfs --with-wcs \
--with-wmsclient --with-wfsclient --with-postgis --with-threads --with-sos --with-mygis --with-geos --with-tiff
- what MapServer version do you use?
version 5.4.1
- do you have Proj4 installed? (OpenLayers doesn't use the same lib, it
uses the javascript lib)
[adrianp at terra mapserver]$ rpm -qa | grep proj
proj-devel-4.5.0-1.fc5
proj-4.5.0-1.fc5
I hope it does not look like keeping you busy, but without further
information its difficult to help.
Your help is very much appreciated. Any idea is a good one because it might get me out of this predicament. :)
Regards,
Adrian
P.S. If I understand how projections work - if I "call" the projection with it's EPSG code it needs the epsg file to get the details about the projection. In my layers I'm using the EPSG definition instead the EPSG code to define my projections. If I switch to codes it won't work (I have tried a few months ago). So, to me, it seems mapserver (or proj) can't get the definitions from the epsg file (maybe because it searches for the wrong file). I will try to create the file and try again. I'll let you know how it works.
Lars
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users
________________________________
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20091013/a0e43b4f/attachment.htm>
More information about the MapServer-users
mailing list