From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 3F55629DF8 for ; Wed, 22 May 2013 18:04:39 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B49BAAC001 for ; Wed, 22 May 2013 16:04:35 -0700 (PDT) Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id hNpbQG8w2APPAnAz for ; Wed, 22 May 2013 16:04:33 -0700 (PDT) Date: Thu, 23 May 2013 09:04:30 +1000 From: Dave Chinner Subject: Re: [PATCH] xfsprogs: libhandle/Makefile - fix make install Message-ID: <20130522230430.GM29466@dastard> References: <20130522205819.586978467@gulag1.americas.sgi.com> <519D3716.8080502@sandeen.net> <519D4136.6080908@sgi.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <519D4136.6080908@sgi.com> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Rich Johnston Cc: Eric Sandeen , xfs@oss.sgi.com 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@sgi.com 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@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs