+ attachment

On Friday 10 June 2011 12:00:49 you wrote:
> It's a Libtool issue (once again) which occurs if a previous build is re-
> configured without subsequent "make clean" and the LIBC developer library
> "libutil" is added to LIBS.
> 
> The error is simple to reproduce by the following steps:
> 
> 1. configure
> 2. make -C ompi/contrib/vt/vt/util
> 3. configure
> or
> 3. touch ompi/contrib/vt/vt/util/installdirs_conf.h # created by configure
> 4. make -C ompi/contrib/vt/vt/util
> ar:
> /home/jurenz/devel/ompi/v1.5/BUILD_gnu/ompi/contrib/vt/vt/util/.libs/libuti
> l.a: No such file or directory
> make: *** [libutil.la] Error 9
> 
> When re-building the VT's libutil Libtool detects the system's libutil as
> dependency and tries to find a corresponding Libtool library (*.la). And
> here is the problem: Libtool finds ompi/contrib/vt/vt/util/libutil.la
> which is still present from the previous build and has nothing to do with
> the system's libutil. Afterwards, Libtool fails on extracting the archive
> ompi/contrib/vt/vt/util/.libs/libutil.a which isn't present for any reason.
> 
> 
> There are different ways to fix the problem:
> 
> 1. Apply the attached patch on ltmain.sh.
> 
> This patch excludes the target library name from searching *.la libraries.
> 
> 2. Rename the VT's libutil
> 
> This would prevents name conflicts with dependency libraries.
> 
> 3. Clear list of dependency libraries when building VT's libutil.
> 
> This could be done by adding LIBS= to the Makefile.am in
> ompi/contrib/vt/vt/util/. The VT's libutil has no dependencies to other
> libraries except libc.
> 
> 4. Perform "make clean" or remove ompi/contrib/vt/vt/util/libutil.la after
> re- configure.
> 
> Nonsense - it cannot be required from the user.
> 
> 
> My favorite suggestion is 1. It would be just another patch in addition to
> the set of Libtool patches invoked by autogen.
> 
> What do you think?
> 
> 
> Matthias
> 
> On Tuesday 07 June 2011 16:56:39 Jeff Squyres wrote:
> > You might want to try a new checkout, just in case there's something in
> > there that is svn:ignored...?
> > 
> > (yes, I'm grasping at straws here, but I'm able to build ok with a clean
> > checkout...?)
> > 
> > On Jun 7, 2011, at 10:38 AM, George Bosilca wrote:
> > > My 'svn status' indicates no differences. I always build using a VPATH,
> > > and in this case I did remove the build directory. However, the issue
> > > persisted.
> > > 
> > >  george.
> > > 
> > > On Jun 7, 2011, at 10:31 , Jeff Squyres wrote:
> > >> I've seen VT builds get confused sometimes.  I'm not sure of the exact
> > >> cause, but if I get a new checkout, all the problems seem to go away.
> > >> I've never had the time to track it down.
> > >> 
> > >> Can you get a clean / new checkout and see if that fixes the problem?
> > >> 
> > >> On Jun 7, 2011, at 10:27 AM, George Bosilca wrote:
> > >>> I can't compile the 1.5 is I do not disable VT. Using the following
> > >>> configure line:
> > >>> 
> > >>> ../ompi/configure --prefix=/home/bosilca/opt/stable/1.5/debug
> > >>> --enable-mpirun-prefix-by-default --with-knem=/usr/local/knem
> > >>> --with-mx=/usr/local/mx-1.2.11 --enable-picky --enable-debug
> > >>> 
> > >>> I get:
> > >>> 
> > >>> ar:
> > >>> /home/bosilca/unstable/1.5/debug/ompi/contrib/vt/vt/util/.libs/libuti
> > >>> l .a: No such file or directory
> > >>> 
> > >>> Any ideas?
> > >>> 
> > >>> george.
> > >>> 
> > >>> 
> > >>> _______________________________________________
> > >>> devel mailing list
> > >>> de...@open-mpi.org
> > >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> > > 
> > > _______________________________________________
> > > devel mailing list
> > > de...@open-mpi.org
> > > http://www.open-mpi.org/mailman/listinfo.cgi/devel
--- config/ltmain.sh.orig	2011-06-09 12:50:08.911201988 +0200
+++ config/ltmain.sh	2011-06-09 12:51:20.530015482 +0200
@@ -5099,7 +5099,7 @@
 	      # Search the libtool library
 	      lib="$searchdir/lib${name}${search_ext}"
 	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
+		if test "$search_ext" = ".la" -a "$lib" != "`pwd`/$outputname"; then
 		  found=yes
 		else
 		  found=no

Reply via email to