ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] libtool need help
@ 2006-10-31  6:33 Alexey Novikov
  2006-10-31 17:38 ` Igor Zubkov
  0 siblings, 1 reply; 3+ messages in thread
From: Alexey Novikov @ 2006-10-31  6:33 UTC (permalink / raw)
  To: community

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

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

Вкратце опишу ситуацию:
Есть некоторый проект (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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-11-01  5:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-31  6:33 [Comm] libtool need help Alexey Novikov
2006-10-31 17:38 ` Igor Zubkov
2006-11-01  5:55   ` [Comm] [OBORONA-SPAM] " Alexey Novikov

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git