bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC: new flag] was Re: Multiple inclusion of -lnsl -lsocket


From: Douglas E. Engert
Subject: Re: [RFC: new flag] was Re: Multiple inclusion of -lnsl -lsocket
Date: Thu, 18 Oct 2001 15:47:28 -0500

Robert Boehne wrote:
> 
> Douglas:
> 
> This is the result of strict dependency tracking.  Later version of
> Libtool
> refrain from removing duplicates in dependencies because this can break
> certain software (KDE is an example I believe).  I also have problems
> with this, and have been wondering if a flag to turn this explicitly
> ON, off by default, would be a better way around this.
> You are getting a truncated command line as you will on almost every
> OS (Solaris actually has a much greater command line argument limit
> than most other systems).  Libtool used to remove all duplicates,
> and I would prefer this to be the default behavior, as it seems
> that requiring order-dependencies to be retained is a seldom
> used feature that causes problems like yours (and mine).
> 
> What would the the rest of you thin about adding a flag
> --strict-dependencies
> (or some such) that would enable the strict dependency retention, which
> is off by default?  I could probably whip this up in a week or so.
> 

Thanks for the response. I have gone back to libtool-1.3.5 which does not
have the problem for now. 

A flag sounds good. 


> Thanks,
> 
> Robert Boehne
> 
> "Douglas E. Engert" wrote:
> >
> > I am using libtool-1.4.2 on Solaris 5.7 with gcc 2.9.3
> >
> > I am trying to link in a large number of shared libraries, each of which 
> > was built
> > with libtool. Each library had -lnsl -lsocket as a dependency.
> >
> > It appears libtool adds the -lnsl -lsocket to the deplibs for each library,
> > as it is built, and each of it dependency libs which also have -lnsl 
> > -lsocket.
> > Thus when it gets to the program, it has -lnsl -lsocket over and over, and 
> > the
> > line becomes to long for the shell, or the compiler.
> >
> > This command is given to libtool. (Its all one line.)
> >
> > /bin/sh
> > /afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/sbin/libtool-gcc32dbg
> > --mode=link /usr/afsws/local/bin/gcc  -g
> > -L/afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib -o globusrun
> > -L/afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib globusrun.o
> > -lnsl -lsocket -lnsl    -lsocket -lnsl -lglobus_gass_server_ez_gcc32dbg
> > -lglobus_rsl_assist_gcc32dbg -lglobus_duroc_control_gcc32dbg
> > -lglobus_gass_transfer_gcc32dbg  -lglobus_duct_control_gcc32dbg
> > -lglobus_duroc_common_gcc32dbg  -lglobus_duct_common_gcc32dbg
> > -lglobus_gram_client_gcc32dbg -lglobus_rsl_gcc32dbg  -lglobus_nexus_gcc32dbg
> > -lglobus_gram_protocol_gcc32dbg -lglobus_mp_gcc32dbg  -lglobus_dc_gcc32dbg
> > -lglobus_io_gcc32dbg -lglobus_gss_assist_gcc32dbg -lglobus_common_gcc32dbg
> > -lglobus_gssapi_gsi_gcc32dbg -lglobus_ssl_utils_gcc32dbg -lssl_gcc32dbg
> > -lcrypto_gcc32dbg
> >
> > Then it appears that libtool tries to run this command which I folded to 
> > get into
> > this mail:
> >
> > /usr/afsws/local/bin/gcc -g -o globusrun globusrun.o  
> > -L/afs/anl.gov/usr/ctd/b17
> > 783/work/Globus/gp/build/sun4x_57/lib -lnsl -lsocket -lnsl -lsocket -lnsl 
> > /afs/a
> > nl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib/libglobus_gass_server_ez
> > _gcc32dbg.so -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocket -
> > lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket 
> > -lnsl -ln
> > sl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsocket -l
> > nsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket 
> > -lsocket -
> > lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > /afs/anl.gov/usr/ctd/b17783/work/Globus
> > /gp/build/sun4x_57/lib/libglobus_rsl_assist_gcc32dbg.so -lnsl 
> > /afs/anl.gov/usr/c
> > td/b17783/work/Globus/gp/build/sun4x_57/lib/libglobus_duroc_control_gcc32dbg.so
> > -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lnsl -l
> > socket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsocket -
> > lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket 
> > -lsocket
> > -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket 
> > -lnsl -l
> > nsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl 
> > -lsocket -
> > lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket 
> > -lnsl -ls
> > ocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket 
> > -lnsl -l
> > nsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lso
> > cket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket 
> > -lnsl -ls
> > ocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocket -l
> > nsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lns
> > l -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl 
> > -lsocket -ln
> > sl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsoc
> > ket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lns
> > l -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsock
> > et -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsoc
> > ket -lnsl -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocke
> > t -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl 
> > -lnsl
> > -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsocket
> >  -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocke
> > t -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket 
> > -lnsl
> > -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lnsl -l
> > socket -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket 
> > -lnsl -
> > lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket 
> > -lnsl
> > -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lnsl -l
> > socket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsocket -
> > lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocket
> > -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket 
> > -lnsl -l
> > nsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lnsl 
> > -lso
> > cket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl 
> > -lsocket -ln
> > sl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsocket -l
> > nsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl 
> > -lns
> > l -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl 
> > -lsocket -ln
> > sl -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsoc
> > ket -lnsl -lnsl -lsocket -lsocket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl
> > /afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib/libglobus_gass_tra
> > nsfer_gcc32dbg.so -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lnsl 
> > -lsoc
> > ket -lnsl -lnsl -lsocket -lnsl -lsocket -lnsl -lnsl -lsocket -lsocket -lnsl 
> > -lns
> > l -lsocket -lnsl -lsocket -lnsl 
> > /afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build
> > /sun4x_57/lib/libglobus_duct_control_gcc32dbg.so -lnsl -lsocket -lnsl 
> > -lsocket -
> > lns -R/afs/anl.gov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib 
> > -R/afs/anl.g
> > ov/usr/ctd/b17783/work/Globus/gp/build/sun4x_57/lib
> >
> > Note, two lines above, it has -lns which looks like it truncated some
> > internal string. The error message is "ld: fatal: library -lns: not found"
> >
> > The extreme numbers of -lnsl -lsocket looks like a bug somewhere.
> >
> >
> >
> > --
> >
> >  Douglas E. Engert  <address@hidden>
> >  Argonne National Laboratory
> >  9700 South Cass Avenue
> >  Argonne, Illinois  60439
> >  (630) 252-5444
> >
> > _______________________________________________
> > Bug-libtool mailing list
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/bug-libtool
> 
> --
> Robert Boehne             Software Engineer
> Ricardo Software   Chicago Technical Center
> TEL: (630)789-0003 x. 238
> FAX: (630)789-0127
> email:  address@hidden

-- 

 Douglas E. Engert  <address@hidden>
 Argonne National Laboratory
 9700 South Cass Avenue
 Argonne, Illinois  60439 
 (630) 252-5444



reply via email to

[Prev in Thread] Current Thread [Next in Thread]