throwing aborts, or: libtool sucks, or: slink sucks even more

Richard B. Kreckel kreckel at ThEP.Physik.Uni-Mainz.DE
Tue May 30 10:56:05 CEST 2000


Hi everybody,

The issue of the nasty crashes whenever something is thrown internally (as
in .normal(), if the heuristic algorithm failed or in .series() for
functions with poles) came up last week.  Finally it is becoming clear
what's happening.  series(tgamma(x),x==0,1) crashed reproducibly when
linked dynamically, either in ginsh, ginaccint or elsewhere.  Let me 
explain what's happening.  So I am no longer to blame.  :-)

GiNaC 0.6.1 got an updated libtool from FSF (1.3.4 instead of 1.3.3) and
that libtool has changed it's behaviour for linking:
$ libtool --mode=link c++ ...
uses $CC for linking instead of c++, as it used to be.  Libtool's
documentation does have something to say about this:

> [...] running the C++ compiler directly may lead to problems related
> with inter-library dependencies. 
> 
> The conclusion is that libtool is not ready for general use for C++
> libraries.[...]
> 
> Furthermore, you'd better find out, at configure time, what are the C++
> Standard libraries that the C++ compiler will link in by default, and
> explicitly list them in the link command line. Hopefully, in the future,
> libtool will be able to do this job by itself. 

I am somewhat clueless what those `problems related with inter-library
dependencies' might be (there seems to be a gap in the mailing list 
archives).  Well, the day before yesterday they have released libtool
1.3.5 but that doesn't change much.

Anyhow, the trouble starts only when you use jurrasic compilers.  And
Debian/Slink does precisely this: gcc (used for linking) is 2.7.2.3 while
c++ (used for compiling) is 2.91.60.  Makes the solution pretty obvious:
Just exporting CC=egcc prior to configuring solves all problems.  Big
deal.  Or upgrading to Potato (if they manage to release it some lucky
day).

Happy hacking
           -rbk.
-- 
Richard Kreckel
<Richard.Kreckel at Uni-Mainz.DE>
<http://wwwthep.physik.uni-mainz.de/~kreckel/>





More information about the GiNaC-devel mailing list