[Comm] libtool need help

Alexey Novikov =?iso-8859-1?q?shader_=CE=C1_yandex=2Eru?=
Вт Окт 31 09:33:15 MSK 2006


Доброго времени суток всем!

Обращаюсь за помощью к сообществу, т.к. я уже весь мозг сломал :)

Вкратце опишу ситуацию:
Есть некоторый проект (gdal-1.3.2) в результате сборки которого
получается libgdal.so.X.Y.Z и несколько утилит ее использующих.
Внутри себя он таскает исходники библиотеки shapelib, которую
можно использовать для сборки других пакетов (например postgis).
Так вот задача, собрать shapelib из gdal в отдельную shared-либу,
а libgdal прилинковать к ней. Первая часть этой задачи получается
достаточно легко и с ней проблем нет, а вот со второй...

Вобщем, вытащил я исходники shapelib в отдельный каталог, собрал
с помощью следующих
configure.in:
-----------
AC_INIT(shapefil.h)
AM_INIT_AUTOMAKE(shapelib, 1.0.1)
AC_PROG_CC
AM_PROG_LIBTOOL
AC_OUTPUT(Makefile)
-----------
и Makefile.am:
-----------
lib_LTLIBRARIES=libshp.la
libshp_la_SOURCES = dbfopen.c shpopen.c shptree.c
libshp_la_LDFLAGS = -version-info 1:1:0
-----------
ну дальше как обычно
autoreconf -fisv
./configure
make

Дальше, для того, чтобы прилинковать ее к libgdal, добавил в
список библиотек для ее линковки libshp.la. Вроде бы все
нормально, сборка (%make_build) проходит, но на стадии install
вылезает проблема:
make[1]: Entering directory
`/usr/src/RPM/BUILD/gdal-1.3.2/libshp'
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -d
/usr/src/tmp/gdal-buildroot/usr/lib
for f in libshp.la ; do /bin/sh
/usr/src/RPM/BUILD/gdal-1.3.2/libtool --mode=install
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -c $f
/usr/src/tmp/gdal-buildroot/usr/lib ; done
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -c .libs/libshp.so.1.0.1
/usr/src/tmp/gdal-buildroot/usr/lib/libshp.so.1.0.1
(cd /usr/src/tmp/gdal-buildroot/usr/lib && rm -f libshp.so.1 &&
ln -s libshp.so.1.0.1 libshp.so.1)
(cd /usr/src/tmp/gdal-buildroot/usr/lib && rm -f libshp.so && ln
-s libshp.so.1.0.1 libshp.so)
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -c .libs/libshp.lai
/usr/src/tmp/gdal-buildroot/usr/lib/libshp.la
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -c .libs/libshp.a
/usr/src/tmp/gdal-buildroot/usr/lib/libshp.a
chmod 644 /usr/src/tmp/gdal-buildroot/usr/lib/libshp.a
ranlib /usr/src/tmp/gdal-buildroot/usr/lib/libshp.a
libtool: install: warning: remember to run `libtool --finish
/usr/lib'
make[1]: Leaving directory `/usr/src/RPM/BUILD/gdal-1.3.2/libshp'
for f in libgdal.la ; do /bin/sh
/usr/src/RPM/BUILD/gdal-1.3.2/libtool --mode=install
/usr/src/RPM/BUILD/gdal-1.3.2/install-sh -c $f
/usr/src/tmp/gdal-buildroot/usr/lib ; done
libtool: install: warning: relinking `libgdal.la'
(cd /usr/src/RPM/BUILD/gdal-1.3.2; /bin/sh
/usr/src/RPM/BUILD/gdal-1.3.2/libtool  --mode=relink
i586-alt-linux-g++ /usr/src/RPM/BUILD/gdal-1.3.2/libshp/libshp.la
-lgeos -lgeos_c -lgif -ljpeg -lgeotiff -ltiff -lpng -lnetcdf -lpq
-L/usr/lib -lpq -lz -lm -lrt -ldl -o libgdal.la
/usr/src/RPM/BUILD/gdal-1.3.2/frmts/o/EnvisatFile.lo
/usr/src/RPM/BUILD/gdal-1.3.2/frmts/o/IdrisiDataset.lo
< куча всего поскипано > ./ogr/ogr2gmlgeometry.lo
./ogr/gml2ogrgeometry.lo -rpath
/usr/src/tmp/gdal-buildroot/usr/lib -no-undefined -version-info
11:0:10 )
i586-alt-linux-g++ -shared -nostdlib
/usr/lib/gcc/i586-alt-linux/3.4.4/../../../crti.o
/usr/lib/gcc/i586-alt-linux/3.4.4/crtbeginS.o
/usr/src/RPM/BUILD/gdal-1.3.2/frmts/o/.libs/EnvisatFile.o
/usr/src/RPM/BUILD/gdal-1.3.2/frmts/o/.libs/IdrisiDataset.o
< еще много чего поскипано > ./ogr/.libs/ogr2gmlgeometry.o
./ogr/.libs/gml2ogrgeometry.o
-L/usr/src/RPM/BUILD/gdal-1.3.2/libshp
-L/usr/lib -lshp -lgeos -lgeos_c
-lgif -ljpeg -lgeotiff -ltiff -lpng -lnetcdf -lpq -lz -lrt -ldl
-L/usr/lib/gcc/i586-alt-linux/3.4.4
-L/usr/lib/gcc/i586-alt-linux/3.4.4/../../.. -lstdc++ -lm -lc
-lgcc_s /usr/lib/gcc/i586-alt-linux/3.4.4/crtendS.o
/usr/lib/gcc/i586-alt-linux/3.4.4/../../../crtn.o  -Wl,-soname
-Wl,libgdal.so.1 -o .libs/libgdal.so.1.10.0
/usr/bin/ld: cannot find -lshp
collect2: ld returned 1 exit status
libtool: install: error: relink `libgdal.la' with the above
command before installing it

Вот так вот :(
Теперь думаю, что делать, если у кого-то будут идеи - заранее
благодарен.

-- 
WBR, Alexey Novikov
JIT: alex-novikov на jabber.ru



Подробная информация о списке рассылки community