[mapserver5.6.5/CentOS64bit] Не находит библиотеки

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

[mapserver5.6.5/CentOS64bit] Не находит библиотеки

Сообщение alexkarta »

Сейчас работает mapserver из FWTools, решил собрать свой (это первый опыт) так:

Код: Выделить всё

p=/home/alexkrt/soft; l=/usr/lib64;./configure --prefix=$r --with-freetype=$l  --with-zlib=$l --with-png --with-jpeg --with-pdf --with-open --with-agg --with-eppl --with-proj=$p  -with-geos=$p/bin/geos-config --with-ogr=$p/bin/gdal-config --with-gdal=$p/bin/gdal-config  --with-wfs  --with-wcs -with-wmsclient --with-wfsclient  --with-curl-config=$p/bin/curl-config --with-fribidi-config=yes 

 make 

Тестирую, получаю ошибку:

Код: Выделить всё

mapserver-5.6.5$ ./mapserv -v
./mapserv: error while loading shared libraries: libproj.so.0: cannot open shared object file: No such file or directory
Ошибка исправляется так:

Код: Выделить всё

mapserver-5.6.5$ export LD_LIBRARY_PATH=/usr/lib64:/home/alexkrt/soft/lib
mapserver-5.6.5$ ./mapserv -v
MapServer version 5.6.5 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=GEOS INPUT=EPPL7 INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
mapserver-5.6.5$
Вроде бы со ссылками на библиотеки все ОК:

Код: Выделить всё

mapserver-5.6.5$ ./mapserver-config  --libs
-lgd -L/usr/lib64 -lgd -ljpeg -L/usr/lib64 -lfreetype -lpng -L/usr/lib64 -lz -lXpm -lX11 -ljpeg -L/usr/lib64 -lfreetype -lpng -L/usr/lib64 -lz -lXpm -lX11 -L/home/alexkrt/soft/lib -lproj -ljpeg -lpng -L/home/alexkrt/soft/lib -lgdal -L/home/alexkrt/soft/lib -lepsilon -L/usr/lib64 -lsqlite3 -L/usr/lib64 -lexpat -L/home/alexkrt/soft/lib -lhdf5 -lgif -ljpeg -ltiff -lpng -L/home/alexkrt/soft -L/home/alexkrt/soft/lib -lnetcdf -lpq -L/usr/lib64 -lpq -lz -lm -lrt -ldl -L/home/alexkrt/soft/lib -lcurl -L/usr/kerberos/lib64 -L/home/alexkrt/soft/lib -lgeos_c -lc -L/usr/lib64 -lz -lxml2 -lz -lm -lm -lstdc++
Что делаю не так? Не понимаю как определять переменные окружения при вызове CGI. Может какой то промежуточный скриптик в папке CGI создать (что-то в этом духе: export LD_LIBRARY_PATH=/usr/lib64;/home/alexkrt/soft/lib; mapserv $@)?

(root доступа нет)
Последний раз редактировалось alexkarta 01 окт 2010, 21:19, всего редактировалось 1 раз.
alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

Re: [mapserver5.6.5/CentOS64bit] Не находит библиотеки

Сообщение alexkarta »

частично решено

Но это, конечно, костыль, который не может принести полного удовлетворения. В принципе если есть root доступ, то проблема решается легко(например, через ldconfig). Также можно добавить в .htaccess файл (по невыясненной причине у меня этот способ не сработал) или в конфиг апача директиву SetEnv

Очень хочется понять, как разработчики FWTools решили проблему с добавлением директории с библиотеками в область поиска - вот где кроется хорошее решение.
alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

Re: [mapserver5.6.5/CentOS64bit] Не находит библиотеки

Сообщение alexkarta »

совершенно случайно обнаружил, что mapserv файл ссылается на скрипт .../FWTools-2.0.6/fwtools_env.sh, где и определяются все переменные окружения:

Код: Выделить всё

...
  PROJ_LIB=$FWTOOLS_HOME/share/proj
  GEOTIFF_CSV=$FWTOOLS_HOME/share/gdal
  GDAL_DATA=$FWTOOLS_HOME/share/gdal
  OPENEV_HOME=$FWTOOLS_HOME
  PYTHONHOME=${FWTOOLS_HOME}
  PYTHONPATH=${FWTOOLS_HOME}/pymod:${FWTOOLS_HOME}/lib/python2.2/site-packages:${PYTHONPATH}
  LD_LIBRARY_PATH=${FWTOOLS_HOME}/lib:${LD_LIBRARY_PATH}:/lib:${FWTOOLS_HOME}/lib/fallback # !!!
  PATH=${FWTOOLS_HOME}/bin:$PATH
  LC_NUMERIC=C
...
Получается, что при сборке FWTools исходники mapserver немного меняют, еще бы понять где и что они добавляют, не нашел инструкции по сборке FWTools, список рассылки писать лень, пытался менять файл mapserv.c - безрезультатно - не особо секу в C и make.
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя