Re: Can I stop linking the same library twice?

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

 



Ralf Wildenhues wrote:
Hello David,

* Dr. David Kirkby wrote on Sat, Dec 12, 2009 at 12:08:11PM CET:
I have seen issues in the Sage mathematics software

where problems arise if a library included in Sage is installed on
the system too. Sage included the source for all the libraries it
needs (e.g. readline), in case the system does not have that
library. That sometimes causes problems, if the option "-L
$SAGE_HOME/local/lib" is added and the library is also on the
system.

Is libtool used to create this library?  Then this shouldn't happen
(famous last words), and if it does, it's typically the sign of a bug in
the makefiles or in libtool somewhere.

In case libtool is used, please send a message to the bug-libtool at
gnu.org mailing list, including a reference to this thread, and the
output of the `.../libtool --mode=link ...' command that fails, but with
--debug added as first argument to libtool, as well as the output of
  .../libtool --config

Thanks,
Ralf


Thank you Ralf,

No, libtool is not used. Nor is autoconf or automake. Sage consists of about 100 open source packages. For each one, there is a small script which builds that package, which at the bare essentials might be:

#!/bin/sh
cd src
configure --prefix=$SAGE_LOCAL
make
make install

In other cases it might the script which does the building might be a python script. Each one is customised to build that particular bit of software.

Sometimes patches are applied. In each case the 'src' directory is the unmodified open-source software. Any patches in Sage are then added. So there might be something like

#!/bin/sh
cp patches/Makefile-new src/Makefile
configure --prefix=$SAGE_LOCAL
make
make install

That's resulting in a mixup of libraries, as nothing actually checks if the system has libraries of the type.

I believe a fundamentally different way might be needed, but I don't have the knowledge to implement it, nor do I have sufficient knowledge to argue why this is wrong. I just believe it is wrong.





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux