From: Dean Roehrich Date: Tue, 31 Jul 2001 21:29:24 +0000 (+0000) Subject: I noticed that my programs were not linking with the shared libs. Apparently X-Git-Tag: v2.0.0~73 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb6be01679c9226e2562b4a8b0c8a94749a9e4fe;p=thirdparty%2Fxfsprogs-dev.git I noticed that my programs were not linking with the shared libs. Apparently if you say something like (from the dmapi tests stuff): gcc -g -O2 -o dm_handle dm_handle.o libdmtest.a -ldm -lhandle it will link with whatever it finds in /usr/lib. If there are no shared libs there then it'll link with the static libs. When I add a symlink to make libdm.so and libhandle.so appear in /usr/lib then I am able to link to the shared libs. No Message Supplied --- diff --git a/include/builddefs.in b/include/builddefs.in index 8e70560c0..ff58626ee 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -143,6 +143,9 @@ endif # Libtool thinks the static and shared libs should be in the same dir, so # make the static lib appear in the place we chose as rpath (using the two # symlinks below). +# Other things want the shared libs to appear in /usr/lib, else they'll +# link with the static libs there. So, another symlink to get the .so into +# /usr/lib. ifeq ($(ENABLE_SHARED),yes) INSTALL_LTLIB_DEV = \ cd $(TOPDIR)/$(LIBNAME)/.libs; \ @@ -152,8 +155,8 @@ INSTALL_LTLIB_DEV = \ ../$(INSTALL) -m 755 -d $(PKG_SLIB_DIR); \ ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_SLIB_DIR); \ ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a $(PKG_SLIB_DIR)/$(LIBNAME).a; \ - ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_SLIB_DIR)/$(LIBNAME).la - + ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_SLIB_DIR)/$(LIBNAME).la; \ + ../$(INSTALL) -S $(PKG_SLIB_DIR)/$(LIBNAME).so $(PKG_LIB_DIR)/$(LIBNAME).so else INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC) endif