'make check' fails!

Richard B. Kreckel kreckel at thep.physik.uni-mainz.de
Wed Jul 17 16:14:36 CEST 2002


On Wed, 17 Jul 2002, William Woods wrote:
> Ok, I tried some different variations:
> 
> CXXFLAGS="-finline-limit=1000" ./configure
> --disable-shared --prefix=/usr/local2
> 
> passed all tests, but changing to --disable-static
> failed all tests.

This supports the hypothesis that exceptions are not caught with the
shared library.  Could you please verify that with the *shared*
(.so) library the following program crashes while it runs with the
*static* (.a) library?  (BTW, it works both ways here---using a 
self-bootstrapped GCC 3.1 on Debian potato and woody.)

----<tryandcatch.cc>--------------------------------------------------
#include <iostream>
#include <ginac/ginac.h>
using namespace std;
using namespace GiNaC;

int main(void)
{
    ex foo;
    try {
        foo = 1/foo;
    } catch (const exception& e) {
        clog << "caught " << e.what() << endl;
    }
    return 0;
}
----------------------------------------------------------------------

> Also,
> 
> CXXFLAGS="-O -finline-limit=1000" ./configure
> --disable-shared --prefix=/usr/local2
> 
> failed only on one single test:
> 
> timing Lewis-Wester test M1 (26x26 sparse, det).
> failed 0.095s
> 
> but
> 
> CXXFLAGS="-DDO_GINAC_ASSERT -O -finline-limit=1000"
> ./configure --disable-shared --prefix=/usr/local2
> 
> passed all tests.

Now that is *very* strange.  Did it continue running after M1 failed?

> (The gcc3.1 compiler was not standard with this
> system, I bootstrapped it)

Okay, please send me the output of 'g++ -v' and 'ld -v'

> Any ideas?

No, not really (yet).  I really wish somebody else could verify this on
another current Mandrake system.

Regards
    -richy.
-- 
Richard B. Kreckel
<Richard.Kreckel at Uni-Mainz.DE>
<http://wwwthep.physik.uni-mainz.de/~kreckel/>




More information about the GiNaC-list mailing list