On Wed, May 22, 2013 at 05:05:42PM -0500, Rich Johnston wrote: > On 05/22/2013 04:22 PM, Eric Sandeen wrote: > >On 5/22/13 3:58 PM, rjohnston@xxxxxxx wrote: > >>In the default section of libhandle/Makefile, ltdepend prevented > >>libhandle.so from being installed properly so remove it. > > > >Can you explain how it prevented it? > > > >[sandeen@sandeen xfsprogs]$ grep ltdepend */Makefile > >libdisk/Makefile:default: ltdepend $(LTLIBRARY) > >libhandle/Makefile:default: ltdepend $(LTLIBRARY) > >libxcmd/Makefile:default: ltdepend $(LTLIBRARY) > >libxfs/Makefile:default: crc32selftest ltdepend $(LTLIBRARY) > >libxlog/Makefile:default: ltdepend $(LTLIBRARY) > > > >seems to exist in every subdir, why is this one causing trouble? > Because libhandle is the only one that is installed. ;) So, after you've done a builds what does libhandle/.libs contain? it shoul dlook something lik ethis: $ ls -l libhandle/.libs/ total 180 -rw-r--r-- 1 dave dave 39416 May 23 08:50 handle.o -rw-r--r-- 1 dave dave 21936 May 23 08:50 jdm.o -rw-r--r-- 1 dave dave 61834 May 23 08:50 libhandle.a lrwxrwxrwx 1 dave dave 15 May 23 08:50 libhandle.la -> ../libhandle.la -rw-r--r-- 1 dave dave 938 May 23 08:50 libhandle.lai lrwxrwxrwx 1 dave dave 18 May 23 08:50 libhandle.so -> libhandle.so.1.0.3 lrwxrwxrwx 1 dave dave 18 May 23 08:50 libhandle.so.1 -> libhandle.so.1.0.3 -rwxr-xr-x 1 dave dave 45667 May 23 08:50 libhandle.so.1.0.3 $ And the libhandle.lai should contain: $ cat libhandle/.libs/libhandle.lai libhandle.la - a libtool library file # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libhandle.so.1' # Names of this library. library_names='libhandle.so.1.0.3 libhandle.so.1 libhandle.so' # The name of the static archive. old_library='libhandle.a' # Linker flags that can not go in dependency_libs. inherited_linker_flags='' # Libraries that this one depends upon. dependency_libs='' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libhandle. current=1 age=0 revision=3 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/lib' $ See $library_names? That should be all the names that are created, and there are three. The are set up via 'install-sh -T so_????' options. So, look at the install rules being run: > cd ../libhandle/.libs; Obvious. > ../../install-sh -o root -g root -m 755 -d /lib64; Setting owner/perms on /lib64. > ../../install-sh -o root -g root -m 755 -T so_dot_version libhandle.lai /lib64; "-T so_dot_version" is supposed to copy libhandle.so.1.0.3 to /lib64/libhandle.so.1.0.3. i.e. install the current library. > ../../install-sh -o root -g root -T so_dot_current libhandle.lai /lib64 That's supposed to set up the /lib64/libhandle.so.1 link back to /lib64/libhandle.so.1.0.3. And that's it. So, what's missing? Right - there's nothing that sets up /lib64/libhandle.so i.e. this is missing: ../../install-sh -o root -g root -T so_base libhandle.lai /lib64 which would set up the /lib64/libhandle.so link to /lib64/libhandle.so.1. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs