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@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/>