[CLN-list] CLN on OS X, linking problem

Richard B. Kreckel kreckel at ginac.de
Thu Mar 17 01:04:21 CET 2005


On Wed, 16 Mar 2005, Ralf Wildenhues wrote:
> * Richard B. Kreckel wrote on Tue, Mar 15, 2005 at 10:07:10PM CET:
> > On Tue, 15 Mar 2005, Ralf Wildenhues wrote:
> > [...]
> > > Please try the trivial patch below.  Still, Richard please consider
> > > updating libtool.
>
> > As to updateing libtool.  Last time I tried (maybe two years ago) it
> > turned out to be kinda nightmarish.  IIRC, it tried to link the shared
> > library with ld -r and there appeared to be a superlinear algorithm
> > somewhere.  I interrupted it after some hours when it had ony finished
> > several hundred of the 855 objects.
>
> For a decent bugreport this is missing

It wasn't meant to be a bugreport.  It was an attempt to avoid work.  :-)

> - the system this was observed on

x86 Debian GNU/Linux testing.

> - `configure' output, esp.
> | checking the maximum length of command line arguments...

Huh, why's that of interest?  Anyway, it's 32768.  But you know already.

> - the exact Libtool version used.

Sorry, not sure.  It must have been between 1.5.1 and 1.5.4, though.

> Most likely the superlinearity is due to the linker, not to Libtool.

I remember that this was my impression, too: some worse-than-O(1)
behavior in ld -i made the loop over src/*.o superlinear.

>                                                                       If
> there were a strong argument for trying better link schemes on systems
> where they are available, that option might be considered.  But I have
> to see them yet.
>
> > I've no strong inclination to try again, after all since I'm still
> > working on the cl_heap_modint_ring problem.  Of course, if someone
> > else wants to give it a try and it works well, I'll apply patches.
>
> Well.  A couple of months ago I put some patches into the HEAD version
> of Libtool to make it link libcln.la more efficiently.

What are these patches doing?

>                                                         I did not work
> on the piecewise linking part, because that did not happen to me.  For
> the shell (libtool script execution) part, I did, however, cut the time
> down to about 30% of the time libtool-1.5.x takes.

Anyway, back to your original suggestion to upgrade libtool: To which
version?  1.5.14?  I had completely forgotten that Bruno has already
upgraded libtool to version 1.5.6 and the problem with piecewise linking I
had experienced earlier seems to have gone.

And as to the modifications in CLN's libtool, there appears to be only one
patch for the Comeau compiler:

--- libtool-1.5.6/libtool.m4    2004-04-02 05:46:14.000000000 +0200
+++ /home/rbk/projects/cln/m4/libtool.m4        2004-08-25
14:13:10.000000000 +0200
@@ -4901,6 +4901,9 @@
         # All Alpha code is PIC.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
+      como)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-lopt='
+        ;;
       esac
       ;;

Why not include it upstream?

  -richy.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>





More information about the CLN-list mailing list