Hi Gents, is there a searchable version of the mailing-list archives anywhere? I'm trying to find out why cln segfaults on make check Cheers, Tink
On Wed, 9 Mar 2005, Andrej Ricnik-Bay wrote:
is there a searchable version of the mailing-list archives anywhere?
I'm trying to find out why cln segfaults on make check
Which OS/version, compiler/version, configure arguments? This one doesn't give any result: <http://www.google.com/custom?q=segfault&sitesearch=www.ginac.de/CLN> Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
I'm trying to find out why cln segfaults on make check Which OS/version, compiler/version, configure arguments? Slackware 10.1, gcc 3.3.4, no arguments
If it's not too big for the list I can post config.log
Regards -richy. Thaks for the quick response (again:})
Cheers, Tink
On Thu, 10 Mar 2005, Andrej Ricnik-Bay wrote:
I'm trying to find out why cln segfaults on make check Which OS/version, compiler/version, configure arguments? Slackware 10.1, gcc 3.3.4, no arguments
And the architecture? x86? Is that the vendor's compiler or one you yourself compiled?
If it's not too big for the list I can post config.log
So you compiled with debug information? I would rather like to see a stack backtrace of one of the segfaulting programs. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
On Wed, 9 Mar 2005 23:10:35 +0100 (CET), Richard B. Kreckel <kreckel@ginac.de> wrote:
And the architecture? x86? Is that the vendor's compiler or one you yourself compiled? Sorry, yes, it's x86, compiled with P4 optimizations (env has CXXFLAGS and CFLAGS=-march=pentium4 -msse2)
So you compiled with debug information? If that's the default, yes.
I would rather like to see a stack backtrace of one of the segfaulting programs. Just a plain cd tests strace -o exam.out exam ?
Regards -richy. Cheers, Tink
On Thu, 10 Mar 2005, Andrej Ricnik-Bay wrote:
On Wed, 9 Mar 2005 23:10:35 +0100 (CET), Richard B. Kreckel <kreckel@ginac.de> wrote:
And the architecture? x86? Is that the vendor's compiler or one you yourself compiled? Sorry, yes, it's x86, compiled with P4 optimizations (env has CXXFLAGS and CFLAGS=-march=pentium4 -msse2)
So you compiled with debug information? If that's the default, yes.
I would rather like to see a stack backtrace of one of the segfaulting programs. Just a plain cd tests strace -o exam.out exam
No. Just a plain cd tests gdb exam run [watch it crash] bt -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
strace -o exam.out exam
No. Just a plain cd tests gdb exam run [watch it crash] bt Hmmm ... won't work.
gdb exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"..."/home/andrej/source/cln_1.1.9/tests/exam": not in executable format: File format not recognized No symbol table is loaded. Use the "file" command. (gdb) run Starting program: No executable file specified. Use the "file" or "exec-file" command. (gdb) quit closer look: exam is a shell wrapper, and I don't understand the inner workings.
I am trying to build cln-1.1.9 on OS X, and there's one file, cl_nt_sqrtmodp.cc, that brings my poor G4 with a mere (!) 256MB of RAM to its knees. It took a machine with 750MB of RAM to compile this monster. Why is this? The file is not particularly big, nor does it appear on the surface to be doing anything particularly complicated. Does anyone know what it is about this particular file that makes gcc use so much RAM? Thanks, Ron Garret ron@flownet.com
* Ron Garret wrote on Fri, Mar 11, 2005 at 07:57:23AM CET:
I am trying to build cln-1.1.9 on OS X, and there's one file, cl_nt_sqrtmodp.cc, that brings my poor G4 with a mere (!) 256MB of RAM to its knees. It took a machine with 750MB of RAM to compile this monster. Why is this? The file is not particularly big, nor does it appear on the surface to be doing anything particularly complicated. Does anyone know what it is about this particular file that makes gcc use so much RAM?
Over here it's debugging info. Setting CXXFLAGS=-O2 (i.e. removing -g) makes it go from 233K to 40K. I'd guess compiler memory usage would go down as well. If you can find out why g++ creates such a lot of info, you might have success in complaining to the gcc folks. Regards, Ralf
On Fri, 11 Mar 2005, Ralf Wildenhues wrote:
* Ron Garret wrote on Fri, Mar 11, 2005 at 07:57:23AM CET:
I am trying to build cln-1.1.9 on OS X, and there's one file, cl_nt_sqrtmodp.cc, that brings my poor G4 with a mere (!) 256MB of RAM to its knees. It took a machine with 750MB of RAM to compile this monster. Why is this? The file is not particularly big, nor does it appear on the surface to be doing anything particularly complicated. Does anyone know what it is about this particular file that makes gcc use so much RAM?
Over here it's debugging info. Setting CXXFLAGS=-O2 (i.e. removing -g) makes it go from 233K to 40K. I'd guess compiler memory usage would go down as well.
If you can find out why g++ creates such a lot of info, you might have success in complaining to the gcc folks.
Right, but first have to update to the newest compiler, of course! I remember having seen such behavior during GCC 3.1, 3.2 or 3.3. It was only showing up on some selected platforms (like ia64, but not on i386). I'm quite sure it's much better now. So, please, upgrade your compiler or be patient until Apple does it for you. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
Finally got CLN to compile. Whew! But make check gives me this: cd tests; make check ./exam dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc make[1]: *** [check] Trace/BPT trap make: *** [check] Error 2 Googling indicates that this is a rather commonly encountered problem having to do with the way that OS X partitions dynamic libraries into namespaces, but I wasn't able to extract an actual solution from anything I've found on this so far. Any pointers would be appreciated. Thanks, rg
[ please excuse if this is a resend ] * Ron Garret wrote on Fri, Mar 11, 2005 at 09:27:22PM CET:
Finally got CLN to compile. Whew! But make check gives me this:
dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc
Googling indicates that this is a rather commonly encountered problem having to do with the way that OS X partitions dynamic libraries into namespaces, but I wasn't able to extract an actual solution from anything I've found on this so far. Any pointers would be appreciated.
Are you using cln with the provided libtool files? I don't know much about OS X, but quite a bit of darwin-related changes went into Libtool not too long ago. It might help to update ltmain.sh and libtool.m4. But then again, I know cln uses some modified version of libtool, so I don't know whether anything would break. Regards, Ralf
On Mar 14, 2005, at 12:29 AM, Ralf Wildenhues wrote:
[ please excuse if this is a resend ]
* Ron Garret wrote on Fri, Mar 11, 2005 at 09:27:22PM CET:
Finally got CLN to compile. Whew! But make check gives me this:
dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc
Googling indicates that this is a rather commonly encountered problem having to do with the way that OS X partitions dynamic libraries into namespaces, but I wasn't able to extract an actual solution from anything I've found on this so far. Any pointers would be appreciated.
Are you using cln with the provided libtool files?
Yes.
I don't know much about OS X, but quite a bit of darwin-related changes went into Libtool not too long ago. It might help to update ltmain.sh and libtool.m4.
But then again, I know cln uses some modified version of libtool, so I don't know whether anything would break.
Me neither, but this does seem to be a likely source of the problem. The usual cause of this symptom is trying to link C++ code using gcc rather than g++. But I don't know the ins and outs of libtool. Need to find some time to read through the docs. I'm a little surprised that this is not a solved problem though. Surely I'm not the first person to have encountered this? rg
* Ron Garret wrote on Mon, Mar 14, 2005 at 07:09:33PM CET:
On Mar 14, 2005, at 12:29 AM, Ralf Wildenhues wrote:
* Ron Garret wrote on Fri, Mar 11, 2005 at 09:27:22PM CET:
Finally got CLN to compile. Whew! But make check gives me this:
dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev *snip*
I don't know much about OS X, but quite a bit of darwin-related changes went into Libtool not too long ago. It might help to update ltmain.sh and libtool.m4.
But then again, I know cln uses some modified version of libtool, so I don't know whether anything would break.
Me neither, but this does seem to be a likely source of the problem. The usual cause of this symptom is trying to link C++ code using gcc rather than g++. But I don't know the ins and outs of libtool. Need to find some time to read through the docs. I'm a little surprised that this is not a solved problem though. Surely I'm not the first person to have encountered this?
Oh well. It never occurred to me that cln uses $CC to link a C++ library, not $CXX. Automake usually fins this out for you, but cln does not use Automake. Please try the trivial patch below. Still, Richard please consider updating libtool. Regards, Ralf --- src/Makefile.in 3 Nov 2004 20:58:50 -0000 1.14 +++ src/Makefile.in 15 Mar 2005 06:48:32 -0000 @@ -203,7 +203,7 @@ $(ALLOBJECTS_LO) : $(SUBDIRS_TARGET) libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) - $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) + $(LIBTOOL_LINK) $(CXX) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) install : all force $(MKDIR) $(DESTDIR)$(libdir)
On Mar 14, 2005, at 10:44 PM, Ralf Wildenhues wrote:
* Ron Garret wrote on Mon, Mar 14, 2005 at 07:09:33PM CET:
On Mar 14, 2005, at 12:29 AM, Ralf Wildenhues wrote:
* Ron Garret wrote on Fri, Mar 11, 2005 at 09:27:22PM CET:
Finally got CLN to compile. Whew! But make check gives me this:
dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev *snip*
I don't know much about OS X, but quite a bit of darwin-related changes went into Libtool not too long ago. It might help to update ltmain.sh and libtool.m4.
But then again, I know cln uses some modified version of libtool, so I don't know whether anything would break.
Me neither, but this does seem to be a likely source of the problem. The usual cause of this symptom is trying to link C++ code using gcc rather than g++. But I don't know the ins and outs of libtool. Need to find some time to read through the docs. I'm a little surprised that this is not a solved problem though. Surely I'm not the first person to have encountered this?
Oh well. It never occurred to me that cln uses $CC to link a C++ library, not $CXX. Automake usually fins this out for you, but cln does not use Automake.
Please try the trivial patch below. Still, Richard please consider updating libtool.
Regards, Ralf
--- src/Makefile.in 3 Nov 2004 20:58:50 -0000 1.14 +++ src/Makefile.in 15 Mar 2005 06:48:32 -0000 @@ -203,7 +203,7 @@ $(ALLOBJECTS_LO) : $(SUBDIRS_TARGET)
libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) - $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) + $(LIBTOOL_LINK) $(CXX) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO)
install : all force $(MKDIR) $(DESTDIR)$(libdir)
_______________________________________________ CLN-list mailing list CLN-list@thep.physik.uni-mainz.de http://thep.physik.uni-mainz.de/mailman/listinfo/cln-list
That worked! Thanks! rg
Now that I've finally gotten cln compiled (again) I've encountered another problem. I'm using cln inside a little Lisp interpreter, which uses cln's input routines to parse numbers. I'm resurrecting this project after about a three-year hiatus, and something that worked back then is no longer working. The default behavior of cln's parser when it encounters bad syntax is to call read_number_bad_syntax which calls cl_abort which calls exit(0). This is obviously not what I want. Back in the day, I was able to override this behavior by simply defining my own version of read_number_bad_syntax and read_number_junk in my own code like so: namespace cln { void read_number_bad_syntax(const char * string, const char * string_limit) { throw 0; } void read_number_junk (const char * string_rest, const char * string, const char* string_limit) { throw 0; } } But this no longer works and I don't know why. My guess is that it's a change in the C++ compiler. Back then it was gcc-2.95 or something like that on Linux, and now I'm using 3.3 on OS X. Obviously I can fix this by hacking the cln source code, but I'd rather not do that because I don't want people to have to recompile cln (or keep multiple copies of cln around) to be able to use my code. Is there another way for users to override the behavior of read_number_bad_syntax? And does anyone know why the technique I used successfully before no longer works? Thanks, rg
On Tue, 15 Mar 2005, Ron Garret wrote:
I'm using cln inside a little Lisp interpreter, which uses cln's input routines to parse numbers. I'm resurrecting this project after about a three-year hiatus, and something that worked back then is no longer working. The default behavior of cln's parser when it encounters bad syntax is to call read_number_bad_syntax which calls cl_abort which calls exit(0). This is obviously not what I want. Back in the day, I was able to override this behavior by simply defining my own version of read_number_bad_syntax and read_number_junk in my own code like so:
namespace cln { void read_number_bad_syntax(const char * string, const char * string_limit) { throw 0; } void read_number_junk (const char * string_rest, const char * string, const char* string_limit) { throw 0; } }
But this no longer works and I don't know why. My guess is that it's a change in the C++ compiler. Back then it was gcc-2.95 or something like that on Linux, and now I'm using 3.3 on OS X.
Obviously I can fix this by hacking the cln source code, but I'd rather not do that because I don't want people to have to recompile cln (or keep multiple copies of cln around) to be able to use my code. Is there another way for users to override the behavior of read_number_bad_syntax? And does anyone know why the technique I used successfully before no longer works?
Could you please define what exactly "no longer works" means? Also, it will be helpful for people who might want to help you if you provide a self-contained example. -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
On Mar 15, 2005, at 2:55 PM, Richard B. Kreckel wrote:
On Tue, 15 Mar 2005, Ron Garret wrote:
I'm using cln inside a little Lisp interpreter, which uses cln's input routines to parse numbers. I'm resurrecting this project after about a three-year hiatus, and something that worked back then is no longer working. The default behavior of cln's parser when it encounters bad syntax is to call read_number_bad_syntax which calls cl_abort which calls exit(0). This is obviously not what I want. Back in the day, I was able to override this behavior by simply defining my own version of read_number_bad_syntax and read_number_junk in my own code like so:
namespace cln { void read_number_bad_syntax(const char * string, const char * string_limit) { throw 0; } void read_number_junk (const char * string_rest, const char * string, const char* string_limit) { throw 0; } }
But this no longer works and I don't know why. My guess is that it's a change in the C++ compiler. Back then it was gcc-2.95 or something like that on Linux, and now I'm using 3.3 on OS X.
Obviously I can fix this by hacking the cln source code, but I'd rather not do that because I don't want people to have to recompile cln (or keep multiple copies of cln around) to be able to use my code. Is there another way for users to override the behavior of read_number_bad_syntax? And does anyone know why the technique I used successfully before no longer works?
Could you please define what exactly "no longer works" means?
Whenever the reader tries to process an atom that is not a valid number the process exits rather than throwing an exception which the reader can catch to turn the atom into a symbol.
Also, it will be helpful for people who might want to help you if you provide a self-contained example.
#include <cln/cln.h> #include <iostream> using namespace cln; using namespace std; namespace cln { void read_number_bad_syntax(const char * string, const char * string_limit) { throw 0; } void read_number_junk (const char * string_rest, const char * string, const char* string_limit) { throw 0; } } int main(int argc, char *argv[]) { cout << "Checking " << argv[1] << "\n"; try { cl_N n(argv[1]); cout << argv[1] << " is a valid number.\n"; } catch(...) { cout << argv[1] << " is not a valid number.\n"; } cout << "This should be printed in either case.\n"; }
I think I figured this out. According to: http://developer.apple.com/documentation/Porting/Conceptual/ PortingUnix/compiling/chapter_4_section_7.html "Important:Â Mac OS X does not support the concept of weak linking as it is found in systems like Linux. If you override one symbol, you must override all of the symbols in that object file." So overriding read_number_bad_syntax and read_number_junk seems to have been a linux-specific capability. Bummer. rg
On Tue, 15 Mar 2005, Ralf Wildenhues wrote: [...]
Please try the trivial patch below. Still, Richard please consider updating libtool.
Regards, Ralf
--- src/Makefile.in 3 Nov 2004 20:58:50 -0000 1.14 +++ src/Makefile.in 15 Mar 2005 06:48:32 -0000 @@ -203,7 +203,7 @@ $(ALLOBJECTS_LO) : $(SUBDIRS_TARGET)
libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) - $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) + $(LIBTOOL_LINK) $(CXX) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO)
install : all force $(MKDIR) $(DESTDIR)$(libdir)
Thanks for the patch, I've applied it to CVS. 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. 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. -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
Richard, * 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 - the system this was observed on - `configure' output, esp. | checking the maximum length of command line arguments... - the exact Libtool version used. Most likely the superlinearity is due to the linker, not to Libtool. 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. 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. Now, I am not trying to make people use Libtool HEAD for production. It's unreleased for a reason. What I might try, given enough time, is to get these changes into the next stable version eventually. After that, I might consider sending patches for CLN. Regards, Ralf
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/>
BTW: which one is the official list address? @thep or @zino? Which other aliases exist, so I don't have to second-guess my MUA settings -- thanks. * Richard B. Kreckel wrote on Thu, Mar 17, 2005 at 01:04:21AM CET:
On Wed, 16 Mar 2005, Ralf Wildenhues wrote:
* Richard B. Kreckel wrote on Tue, Mar 15, 2005 at 10:07:10PM CET:
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. :-)
On a bad-mooded day I'd be calling it FUD.. never mind. :)
- `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.
Well, that's quite important. It's deducible from the system, sure (unless there is a bug in the macro that calculates the length). If your link line turns out to be longer than that maximum length estimate, libtool _will_ split the link by using `ld -r', possibly more than once. It's one portable way around that restriction. On some systems, convenience archives could help, too.
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.
ACK.
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?
For linking libcln.la, most of the time was spent in quoting the command line parameters with some quoted_foo=`$ECHO X"$foo" | $Xsed $somesubst` in some func_quote_foo shell function. I changed configure to enable either this portable version, or, in case $CONFIG_SHELL understands some XSI (like ${foo##*/}), to use a function that does not fork instead. For the common case, most forks which scale with the number of input objects are thus removed. There might be one left, I don't remember. Note Libtool HEAD is what will eventually be 2.2.x. As I said, however, these patches might get their way into 2.0.x. Not 1.5.x by any means, because they depend on a lot of cleanup that happened after 1.5.x.
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.
Stable is 1.5.14. No date for 2.0.0, it's been "soon to come" for years now. :-/ There have been no big changes in the 1.5.x series since 1.5.6 except mostly compiler knowledge updates. As such it would make sense to update just so some lesser-used or newer systems are supported better.
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?
Sure. Do you have a ChangeLog entry for it as well? Weird enough, I have not found this option to be described in Comeau's online documentation. For whoever has Comeau: it'd be really nice if they ran the whole Libtool testsuite (preferably branch-2-0) on it, I'm sure there are more issues to sort out. Libtool supporting more compilers better is always a good thing. Regards, and sorry if some of it sounded like an advertisement, Ralf
On Thu, 17 Mar 2005, Ralf Wildenhues wrote:
BTW: which one is the official list address? @thep or @zino?
Please try to avoid @zino.
Which other aliases exist, so I don't have to second-guess my MUA settings -- thanks.
The one I'm sending this email to.
It wasn't meant to be a bugreport. It was an attempt to avoid work. :-)
On a bad-mooded day I'd be calling it FUD.. never mind. :)
- `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.
Well, that's quite important. It's deducible from the system, sure (unless there is a bug in the macro that calculates the length).
If your link line turns out to be longer than that maximum length estimate, libtool _will_ split the link by using `ld -r', possibly more than once. It's one portable way around that restriction. On some systems, convenience archives could help, too.
Ralf, "possibly more than once" is not exactly hinting at 855 times, which is what happened to me then. But anyway, I realize it's not happening any more, so there is nothing to fix and I'm happy to do the upgrade... ...which I just did! :-) [...]
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?
Sure. Do you have a ChangeLog entry for it as well?
Well, here's the old one from CLN's ChangeLog: 2004-08-25 Bruno Haible <bruno@clisp.org> * autoconf/ltmain.sh: Upgrade to libtool-1.5.6. * m4/libtool.m4: New file, from libtool-1.5.6 with modifications: 2004-08-22 Bruno Haible <bruno@clisp.org> * m4/libtool.m4: Add support for Comeau C++ on Linux. Reported by Prof. Roberto Bagnara <bagnara@cs.unipr.it>. * autoconf/aclocal.m4: Regenerate.
Weird enough, I have not found this option to be described in Comeau's online documentation. For whoever has Comeau: it'd be really nice if they ran the whole Libtool testsuite (preferably branch-2-0) on it, I'm sure there are more issues to sort out. Libtool supporting more compilers better is always a good thing.
Maybe you want to contact Roberto Bagnara? -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
* Richard B. Kreckel wrote on Thu, Mar 17, 2005 at 11:59:58PM CET:
On Thu, 17 Mar 2005, Ralf Wildenhues wrote:
BTW: which one is the official list address? @thep or @zino?
Please try to avoid @zino.
No problem. Wasn't me that brought it into the recipient list.
Which other aliases exist, so I don't have to second-guess my MUA settings -- thanks.
The one I'm sending this email to.
Your To: has cln-list@ginac.de, your Reply-To: has both Richard.Kreckel@ginac.de and cln-list@thep.physik.uni-mainz.de by the time it reaches me. Even not considering the problem whether reply-to munging or putting the list name in reply-to is useful or harmful at all -- there are always four addresses involved (Your From: is kreckel@ginac.de, different again :) If the reply-to is added by the ML software, maybe you could adjust it to point to cln-list@ginac.de as well? It's not a big deal at all, I just thought I'd mention it.
If your link line turns out to be longer than that maximum length estimate, libtool _will_ split the link by using `ld -r', possibly more than once. It's one portable way around that restriction. On some systems, convenience archives could help, too.
Ralf, "possibly more than once" is not exactly hinting at 855 times, which is what happened to me then.
Uh, oh. Well, good thing that bug's gone. (It should've done so a couple of times, like 2 or 3..)
But anyway, I realize it's not happening any more, so there is nothing to fix and I'm happy to do the upgrade...
...which I just did! :-)
Great, thanks.
[...]
And as to the modifications in CLN's libtool, there appears to be only one patch for the Comeau compiler: *snip* Weird enough, I have not found this option to be described in Comeau's online documentation. For whoever has Comeau: it'd be really nice if they ran the whole Libtool testsuite (preferably branch-2-0) on it, I'm sure there are more issues to sort out. Libtool supporting more compilers better is always a good thing.
Maybe you want to contact Roberto Bagnara?
Will do so. Thanks, Ralf
OK, here's what I know (or at least what I think I know): The most likely explanation of the cause of the problem is that my shared libraries are being linked with gcc rather than g++. So the problem is most likely somewhere in the libtool configuration. CLN comes with its own libtool, which is the one that cln is presumably using to build itself. This libtool differs significantly from the most recent version of GNU libtool. There is also a libtool that comes with the OS X development tools, which is, oddly enough, a binary. The other two libtools are shell scripts. I don't know which of these I "should" be using. So I may be able to solve the problem by simply telling libtool to use g++ rather than gcc to do its linking (although I was under the impression that relieving the programmer of this kind of system-specific tweaking was precisely what libtool was designed to do). And since I don't understand the cln build process I don't know how to inject this option into the process now. I don't want to make clean and start over because it's taken me a week just to get to where I am. There are some files that it took me literally dozens of hours to compile. Has anyone actually successfully built (and run) cln on OS X? Is there a quick-and-dirty way I can just relink my existing binaries with g++? Or am I barking up the wrong tree entirely? rg
On Mon, 14 Mar 2005, Ron Garret wrote:
OK, here's what I know (or at least what I think I know):
The most likely explanation of the cause of the problem is that my shared libraries are being linked with gcc rather than g++. So the problem is most likely somewhere in the libtool configuration.
Indeed, the missing symbols are all standard C++ symbols. What I'm wondering is: can't you just look how the build scrolls by and see how the library (or, rather, the test executable) is linked? Why do we have to do some guesswork? Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
On Mar 14, 2005, at 2:35 PM, Richard B. Kreckel wrote:
On Mon, 14 Mar 2005, Ron Garret wrote:
OK, here's what I know (or at least what I think I know):
The most likely explanation of the cause of the problem is that my shared libraries are being linked with gcc rather than g++. So the problem is most likely somewhere in the libtool configuration.
Indeed, the missing symbols are all standard C++ symbols. What I'm wondering is: can't you just look how the build scrolls by and see how the library (or, rather, the test executable) is linked? Why do we have to do some guesswork?
Let me put that another way. gcc (and not g++) is definitely being invoked in one of the link steps (but not all of them). Here's the relevant part of the build: [ron@Zag:~/devel/cln-1.1.9]$ make cd src; make all ... /bin/sh ../libtool --mode=link gcc -o libcln.la ... [a zillion .o files] ... [ron@Zag:~/devel/cln-1.1.9/tests]$ make check /bin/sh ../libtool --mode=link g++ -g -O2 exam.o exam_I.o exam_RA.o exam_SF.o exam_FF.o exam_DF.o exam_LF.o exam_I_gcd.o exam_I_sqrtp.o ../src/libcln.la -lm -o exam g++ -g -O2 exam.o exam_I.o exam_RA.o exam_SF.o exam_FF.o exam_DF.o exam_LF.o exam_I_gcd.o exam_I_sqrtp.o -o .libs/exam -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating exam ./exam dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc make: *** [check] Trace/BPT trap What I don't know is whether this is actually the cause of the problem, and if so how to fix it (and why config didn't do the right thing to begin with). rg --- Here's the full transcript (after touching a couple of random .cc files to force a relink without having to recompile everything) just in case I'm wrong about what's really going on: [ron@Zag:~/devel/cln-1.1.9]$ make cd src; make all make SUBDIR=base make SUBDIR=base/digit /bin/sh ../libtool --mode=compile g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_div.cc g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_div.cc -fno-common -DPIC -o .libs/cl_2D_div.o g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_div.cc -o cl_2D_div.o >/dev/null 2>&1 /bin/sh ../libtool --mode=compile g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_exptpos.cc g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_exptpos.cc -fno-common -DPIC -o .libs/cl_2D_exptpos.o g++ -g -O2 -I../include -I../include -I./base -c ./base/digit/cl_2D_exptpos.cc -o cl_2D_exptpos.o >/dev/null 2>&1 make SUBDIR=base/digitseq make[3]: Nothing to be done for `all'. make SUBDIR=base/hash make[3]: Nothing to be done for `all'. make SUBDIR=base/input make[3]: Nothing to be done for `all'. make SUBDIR=base/low make[3]: Nothing to be done for `all'. make SUBDIR=base/output make[3]: Nothing to be done for `all'. make SUBDIR=base/proplist make[3]: Nothing to be done for `all'. make SUBDIR=base/random make[3]: Nothing to be done for `all'. make SUBDIR=base/ring make[3]: Nothing to be done for `all'. make SUBDIR=base/string make SUBDIR=base/string/input make[4]: Nothing to be done for `all'. make SUBDIR=base/string/misc make[4]: Nothing to be done for `all'. make SUBDIR=base/string/output make[4]: Nothing to be done for `all'. make SUBDIR=base/symbol make[3]: Nothing to be done for `all'. make SUBDIR=complex make SUBDIR=complex/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=complex/elem make SUBDIR=complex/elem/division make[4]: Nothing to be done for `all'. make SUBDIR=complex/input make[3]: Nothing to be done for `all'. make SUBDIR=complex/misc make[3]: Nothing to be done for `all'. make SUBDIR=complex/output make[3]: Nothing to be done for `all'. make SUBDIR=complex/ring make[3]: Nothing to be done for `all'. make SUBDIR=complex/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=float make SUBDIR=float/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=float/base make[3]: Nothing to be done for `all'. make SUBDIR=float/conv make[3]: Nothing to be done for `all'. make SUBDIR=float/dfloat make SUBDIR=float/dfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/conv make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/division make[3]: Nothing to be done for `all'. make SUBDIR=float/elem make[3]: Nothing to be done for `all'. make SUBDIR=float/ffloat make SUBDIR=float/ffloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/conv make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/input make[3]: Nothing to be done for `all'. make SUBDIR=float/lfloat make SUBDIR=float/lfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/misc make[3]: Nothing to be done for `all'. make SUBDIR=float/output make[3]: Nothing to be done for `all'. make SUBDIR=float/random make[3]: Nothing to be done for `all'. make SUBDIR=float/sfloat make SUBDIR=float/sfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=integer make SUBDIR=integer/2adic make[3]: Nothing to be done for `all'. make SUBDIR=integer/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=integer/bitwise make[3]: Nothing to be done for `all'. make SUBDIR=integer/conv make[3]: Nothing to be done for `all'. make SUBDIR=integer/division make[3]: Nothing to be done for `all'. make SUBDIR=integer/elem make[3]: Nothing to be done for `all'. make SUBDIR=integer/gcd make[3]: Nothing to be done for `all'. make SUBDIR=integer/hash make[3]: Nothing to be done for `all'. make SUBDIR=integer/input make[3]: Nothing to be done for `all'. make SUBDIR=integer/misc make SUBDIR=integer/misc/combin make[4]: Nothing to be done for `all'. make SUBDIR=integer/output make[3]: Nothing to be done for `all'. make SUBDIR=integer/random make[3]: Nothing to be done for `all'. make SUBDIR=integer/ring make[3]: Nothing to be done for `all'. make SUBDIR=modinteger make[2]: Nothing to be done for `all'. make SUBDIR=modpolynomial make[2]: Nothing to be done for `all'. make SUBDIR=numtheory make[2]: Nothing to be done for `all'. make SUBDIR=polynomial make SUBDIR=polynomial/elem make[3]: Nothing to be done for `all'. make SUBDIR=polynomial/misc make[3]: Nothing to be done for `all'. make SUBDIR=rational make SUBDIR=rational/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=rational/division make[3]: Nothing to be done for `all'. make SUBDIR=rational/elem make[3]: Nothing to be done for `all'. make SUBDIR=rational/input make[3]: Nothing to be done for `all'. make SUBDIR=rational/misc make[3]: Nothing to be done for `all'. make SUBDIR=rational/output make[3]: Nothing to be done for `all'. make SUBDIR=rational/ring make[3]: Nothing to be done for `all'. make SUBDIR=rational/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=real make SUBDIR=real/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=real/conv make[3]: Nothing to be done for `all'. make SUBDIR=real/division make[3]: Nothing to be done for `all'. make SUBDIR=real/elem make[3]: Nothing to be done for `all'. make SUBDIR=real/format-output make[3]: Nothing to be done for `all'. make SUBDIR=real/input make[3]: Nothing to be done for `all'. make SUBDIR=real/misc make[3]: Nothing to be done for `all'. make SUBDIR=real/output make[3]: Nothing to be done for `all'. make SUBDIR=real/random make[3]: Nothing to be done for `all'. make SUBDIR=real/ring make[3]: Nothing to be done for `all'. make SUBDIR=real/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=timing make[2]: Nothing to be done for `all'. make SUBDIR=vector make SUBDIR=vector/output make[3]: Nothing to be done for `all'. /bin/sh ../libtool --mode=link gcc -o libcln.la -rpath /usr/local/lib -version-info 3:3:0 -lgmp cl_N_err_d0.lo cl_abort.lo cl_alloca.lo cl_as_err.lo cl_condition.lo cl_debug.lo cl_debugout.lo cl_free.lo cl_immclasses.lo cl_malloc.lo cl_notreached.lo cl_version.lo cl_2D_div.lo cl_2D_exptpos.lo cl_2DS_div.lo cl_2DS_recip.lo cl_DS_div.lo cl_DS_mul.lo cl_DS_random.lo cl_DS_recip.lo cl_DS_recipsqrt.lo cl_DS_sqrt.lo cl_DS_trandom.lo cl_rcpointer2_hashweak_rcpointer.lo cl_rcpointer_hashweak_rcpointer.lo cl_read_err_bad.lo cl_read_err_eof.lo cl_read_err_junk.lo cl_low_div.lo cl_low_isqrt.lo cl_low_isqrt2.lo cl_low_mul.lo cl_output_dec.lo cl_output_hex.lo cl_prin_globals.lo cl_pl_add.lo cl_pl_d.lo cl_pl_get.lo cl_UL_random.lo cl_random_def.lo cl_random_from.lo cl_no_ring.lo cl_ring_debug.lo cl_spushstring_append.lo cl_spushstring_push.lo cl_sstring.lo cl_st_c2.lo cl_st_concat1.lo cl_st_concat2.lo cl_st_concat3.lo cl_st_debug.lo cl_st_hashcode.lo cl_st_make0.lo cl_st_make1.lo cl_st_make2.lo cl_st_null.lo cl_sy_hashcode.lo cl_symbol.lo cl_st_get1.lo cl_st_get2.lo cl_st_getline1.lo cl_st_getline2.lo cl_st_gettoken.lo cl_st_class.lo cl_st_print.lo cl_C_abs.lo cl_C_abs_aux.lo cl_C_signum.lo cl_C_sqrt.lo cl_DF_hypot.lo cl_FF_hypot.lo cl_LF_hypot.lo cl_R_hypot.lo cl_SF_hypot.lo cl_C_equal.lo cl_C_from_R_R_complex.lo cl_C_from_R_R_complex1.lo cl_C_imagpart.lo cl_C_minus.lo cl_C_minus1.lo cl_C_mul.lo cl_C_plus.lo cl_C_plus1.lo cl_C_realpart.lo cl_C_square.lo cl_C_uminus.lo cl_C_zerop.lo cl_N_from_string.lo cl_N_read.lo cl_N_read_stream.lo cl_C_class.lo cl_C_conjugate.lo cl_C_debug.lo cl_C_eqhashcode.lo cl_C_expt.lo cl_C_expt_I.lo cl_N_as.lo cl_N_aprint.lo cl_N_bprint.lo cl_C_ring.lo cl_C_acos.lo cl_C_acosh.lo cl_C_asin.lo cl_C_asinh.lo cl_C_asinh_aux.lo cl_C_atan.lo cl_C_atanh.lo cl_C_atanh_aux.lo cl_C_cis.lo cl_C_cos.lo cl_C_cosh.lo cl_C_exp.lo cl_C_expt_C.lo cl_C_log.lo cl_C_log2.lo cl_C_phase.lo cl_C_sin.lo cl_C_sinh.lo cl_C_tan.lo cl_C_tanh.lo cl_R_cis.lo cl_C_DF_recip.lo cl_C_FF_recip.lo cl_C_LF_recip.lo cl_C_SF_recip.lo cl_C_div.lo cl_C_recip.lo cl_F_sqrt.lo cl_F_err_nan.lo cl_F_err_ov.lo cl_F_err_un.lo cl_F_globals.lo cl_ieee.lo cl_DF_to_FF.lo cl_DF_to_LF.lo cl_DF_to_SF.lo cl_DF_to_double.lo cl_DF_to_float.lo cl_FF_to_DF.lo cl_FF_to_LF.lo cl_FF_to_SF.lo cl_FF_to_double.lo cl_FF_to_float.lo cl_F_from_F.lo cl_F_from_F_f.lo cl_F_from_I.lo cl_F_from_I_def.lo cl_F_from_I_f.lo cl_F_from_RA.lo cl_F_from_RA_def.lo cl_F_from_RA_f.lo cl_F_to_DF.lo cl_F_to_FF.lo cl_F_to_LF.lo cl_F_to_SF.lo cl_F_to_double.lo cl_F_to_float.lo cl_LF_to_DF.lo cl_LF_to_FF.lo cl_LF_to_SF.lo cl_LF_to_double.lo cl_LF_to_float.lo cl_SF_to_DF.lo cl_SF_to_FF.lo cl_SF_to_LF.lo cl_SF_to_double.lo cl_SF_to_float.lo cl_F_ceil1.lo cl_F_ceil2.lo cl_F_ceil22.lo cl_F_fceil1.lo cl_F_fceil2.lo cl_F_ffloor1.lo cl_F_ffloor2.lo cl_F_floor1.lo cl_F_floor2.lo cl_F_floor22.lo cl_F_fround1.lo cl_F_fround2.lo cl_F_ftrunc1.lo cl_F_ftrunc2.lo cl_F_round1.lo cl_F_round2.lo cl_F_round22.lo cl_F_trunc1.lo cl_F_trunc2.lo cl_F_trunc22.lo cl_F_I_div.lo cl_F_I_mul.lo cl_F_RA_div.lo cl_F_RA_mul.lo cl_F_compare.lo cl_F_div.lo cl_F_minus.lo cl_F_minusp.lo cl_F_mul.lo cl_F_plus.lo cl_F_plusp.lo cl_F_recip.lo cl_F_scale.lo cl_F_scale_I.lo cl_F_square.lo cl_F_uminus.lo cl_F_zerop.lo cl_I_F_div.lo cl_RA_F_div.lo cl_F_from_string.lo cl_F_read.lo cl_F_read_stream.lo cl_F_readparsed.lo cl_F_abs.lo cl_F_as.lo cl_F_decode.lo cl_F_digits.lo cl_F_epsneg.lo cl_F_epspos.lo cl_F_eqhashcode.lo cl_F_exponent.lo cl_F_extendsqrt.lo cl_F_extendsqrtx.lo cl_F_idecode.lo cl_F_leastneg.lo cl_F_leastpos.lo cl_F_max.lo cl_F_min.lo cl_F_mostneg.lo cl_F_mostpos.lo cl_F_precision.lo cl_F_rational.lo cl_F_shortenrel.lo cl_F_sign.lo cl_F_sign2.lo cl_F_signum.lo cl_float_format.lo cl_F_aprint.lo cl_F_bprint.lo cl_F_cprint.lo cl_F_dprint.lo cl_F_printb.lo cl_F_random.lo cl_F_atanhx.lo cl_F_atanx.lo cl_F_catalanconst.lo cl_F_catalanconst_def.lo cl_F_catalanconst_f.lo cl_F_catalanconst_var.lo cl_F_cos.lo cl_F_cosh.lo cl_F_coshsinh.lo cl_F_cossin.lo cl_F_eulerconst.lo cl_F_eulerconst_def.lo cl_F_eulerconst_f.lo cl_F_eulerconst_var.lo cl_F_exp.lo cl_F_exp1.lo cl_F_exp1_def.lo cl_F_exp1_f.lo cl_F_exp1_var.lo cl_F_expx.lo cl_F_ln.lo cl_F_ln10.lo cl_F_ln10_f.lo cl_F_ln10_var.lo cl_F_ln2.lo cl_F_ln2_f.lo cl_F_ln2_var.lo cl_F_lnx.lo cl_F_pi.lo cl_F_pi_def.lo cl_F_pi_f.lo cl_F_pi_var.lo cl_F_roundpi.lo cl_F_roundpi2.lo cl_F_sin.lo cl_F_sinh.lo cl_F_sinhx.lo cl_F_sinx.lo cl_F_tan.lo cl_F_tanh.lo cl_F_zeta_int.lo cl_F_zeta_int_def.lo cl_F_zeta_int_f.lo cl_LF_atan_recip.lo cl_LF_atanh_recip.lo cl_LF_catalanconst.lo cl_LF_coshsinh.lo cl_LF_coshsinh_aux.lo cl_LF_cossin.lo cl_LF_cossin_aux.lo cl_LF_eulerconst.lo cl_LF_exp1.lo cl_LF_exp_aux.lo cl_LF_ln10.lo cl_LF_ln2.lo cl_LF_pi.lo cl_LF_ratseries.lo cl_LF_ratseries_.lo cl_LF_ratseries_a.lo cl_LF_ratseries_ab.lo cl_LF_ratseries_b.lo cl_LF_ratseries_p.lo cl_LF_ratseries_pa.lo cl_LF_ratseries_pab.lo cl_LF_ratseries_pb.lo cl_LF_ratseries_pq.lo cl_LF_ratseries_pqa.lo cl_LF_ratseries_pqab.lo cl_LF_ratseries_pqb.lo cl_LF_ratseries_q.lo cl_LF_ratseries_qa.lo cl_LF_ratseries_qab.lo cl_LF_ratseries_qb.lo cl_LF_ratseries_stream_pq.lo cl_LF_ratseries_stream_pqa.lo cl_LF_ratseries_stream_pqab.lo cl_LF_ratseries_stream_pqb.lo cl_LF_ratsumseries_pqcd.lo cl_LF_ratsumseries_pqcd_aux.lo cl_LF_ratsumseries_pqd.lo cl_LF_ratsumseries_pqd_aux.lo cl_LF_zeta3.lo cl_LF_zeta_int.lo cl_DF_sqrt.lo cl_DF_from_double.lo cl_DF_to_doublej.lo cl_I_to_double.lo cl_RA_to_double.lo cl_DF_ceil22.lo cl_DF_fceil.lo cl_DF_floor22.lo cl_DF_recip.lo cl_DF_round22.lo cl_DF_trunc22.lo cl_DF_compare.lo cl_DF_div.lo cl_DF_ffloor.lo cl_DF_from_I.lo cl_DF_from_RA.lo cl_DF_fround.lo cl_DF_ftrunc.lo cl_DF_futrunc.lo cl_DF_globals.lo cl_DF_minus.lo cl_DF_minusp.lo cl_DF_mul.lo cl_DF_plus.lo cl_DF_plusp.lo cl_DF_scale.lo cl_DF_scale_I.lo cl_DF_to_I.lo cl_DF_uminus.lo cl_DF_zerop.lo cl_DF_from_string.lo cl_DF_abs.lo cl_DF_as.lo cl_DF_class.lo cl_DF_debug.lo cl_DF_decode.lo cl_DF_digits.lo cl_DF_eqhashcode.lo cl_DF_exponent.lo cl_DF_idecode.lo cl_DF_max.lo cl_DF_min.lo cl_DF_precision.lo cl_DF_sign.lo cl_DF_signum.lo cl_FF_sqrt.lo cl_FF_from_float.lo cl_FF_to_floatj.lo cl_I_to_float.lo cl_RA_to_float.lo cl_FF_ceil22.lo cl_FF_fceil.lo cl_FF_floor22.lo cl_FF_recip.lo cl_FF_round22.lo cl_FF_trunc22.lo cl_FF_compare.lo cl_FF_div.lo cl_FF_ffloor.lo cl_FF_from_I.lo cl_FF_from_RA.lo cl_FF_fround.lo cl_FF_ftrunc.lo cl_FF_futrunc.lo cl_FF_globals.lo cl_FF_minus.lo cl_FF_minusp.lo cl_FF_mul.lo cl_FF_plus.lo cl_FF_plusp.lo cl_FF_scale.lo cl_FF_scale_I.lo cl_FF_to_I.lo cl_FF_uminus.lo cl_FF_zerop.lo cl_FF_from_string.lo cl_FF_abs.lo cl_FF_as.lo cl_FF_class.lo cl_FF_debug.lo cl_FF_decode.lo cl_FF_digits.lo cl_FF_eqhashcode.lo cl_FF_exponent.lo cl_FF_idecode.lo cl_FF_max.lo cl_FF_min.lo cl_FF_precision.lo cl_FF_sign.lo cl_FF_signum.lo cl_LF_sqrt.lo cl_LF_ceil22.lo cl_LF_fceil.lo cl_LF_floor22.lo cl_LF_recip.lo cl_LF_round22.lo cl_LF_trunc22.lo cl_I_LF_div.lo cl_LF_1minus.lo cl_LF_1plus.lo cl_LF_2minus.lo cl_LF_2plus.lo cl_LF_I_div.lo cl_LF_I_mul.lo cl_LF_RA_div.lo cl_LF_RA_mul.lo cl_LF_compare.lo cl_LF_div.lo cl_LF_ffloor.lo cl_LF_from_I.lo cl_LF_from_RA.lo cl_LF_fround.lo cl_LF_ftrunc.lo cl_LF_futrunc.lo cl_LF_globals.lo cl_LF_minus1.lo cl_LF_minusp.lo cl_LF_mul.lo cl_LF_plus1.lo cl_LF_plusp.lo cl_LF_scale.lo cl_LF_scale_I.lo cl_LF_square.lo cl_LF_to_I.lo cl_LF_uminus.lo cl_LF_zerop.lo cl_RA_LF_div.lo cl_LF_from_string.lo cl_LF_abs.lo cl_LF_as.lo cl_LF_class.lo cl_LF_debug.lo cl_LF_decode.lo cl_LF_digits.lo cl_LF_eqhashcode.lo cl_LF_exponent.lo cl_LF_extend.lo cl_LF_idecode.lo cl_LF_leninc.lo cl_LF_lenincx.lo cl_LF_max.lo cl_LF_min.lo cl_LF_precision.lo cl_LF_shorten.lo cl_LF_shortenrel.lo cl_LF_shortenwith.lo cl_LF_sign.lo cl_LF_signum.lo cl_LF_to_LF.lo cl_SF_sqrt.lo cl_SF_ceil22.lo cl_SF_fceil.lo cl_SF_ffloor.lo cl_SF_floor22.lo cl_SF_recip.lo cl_SF_round22.lo cl_SF_trunc22.lo cl_SF_compare.lo cl_SF_div.lo cl_SF_from_I.lo cl_SF_from_RA.lo cl_SF_fround.lo cl_SF_ftrunc.lo cl_SF_futrunc.lo cl_SF_minus.lo cl_SF_minusp.lo cl_SF_mul.lo cl_SF_plus.lo cl_SF_plusp.lo cl_SF_scale.lo cl_SF_scale_I.lo cl_SF_to_I.lo cl_SF_uminus.lo cl_SF_zerop.lo cl_SF_from_string.lo cl_SF_abs.lo cl_SF_as.lo cl_SF_class.lo cl_SF_debug.lo cl_SF_decode.lo cl_SF_digits.lo cl_SF_eqhashcode.lo cl_SF_exponent.lo cl_SF_idecode.lo cl_SF_max.lo cl_SF_min.lo cl_SF_precision.lo cl_SF_sign.lo cl_SF_signum.lo cl_I_2adic_div.lo cl_I_2adic_recip.lo cl_I_rootp.lo cl_I_rootp_I.lo cl_I_rootp_aux.lo cl_I_sqrt.lo cl_I_sqrtp.lo cl_I_ash.lo cl_I_ash_I.lo cl_I_asherr.lo cl_I_boole.lo cl_I_dpb.lo cl_I_dpf.lo cl_I_fullbyte.lo cl_I_ilength.lo cl_I_ldb.lo cl_I_ldbtest.lo cl_I_ldbx.lo cl_I_ldbxtest.lo cl_I_log_aux.lo cl_I_logand.lo cl_I_logandc2.lo cl_I_logbitp.lo cl_I_logbitp_I.lo cl_I_logcount.lo cl_I_logeqv.lo cl_I_logior.lo cl_I_lognand.lo cl_I_lognor.lo cl_I_lognot.lo cl_I_logorc2.lo cl_I_logtest.lo cl_I_logxor.lo cl_I_mkf.lo cl_I_mkfx.lo cl_I_digits_need.lo cl_I_from_DS.lo cl_I_from_L.lo cl_I_from_L2.lo cl_I_from_NDS.lo cl_I_from_NUDS.lo cl_I_from_Q.lo cl_I_from_UDS.lo cl_I_from_UL.lo cl_I_from_UL2.lo cl_I_from_UQ.lo cl_I_from_digits.lo cl_I_mul10plus.lo cl_I_to_L.lo cl_I_to_Q.lo cl_I_to_UL.lo cl_I_to_UQ.lo cl_I_to_digits.lo cl_I_ceil1.lo cl_I_ceil2.lo cl_I_exquo.lo cl_I_exquoerr.lo cl_I_exquopos.lo cl_I_floor1.lo cl_I_floor2.lo cl_I_mod.lo cl_I_rem.lo cl_I_round1.lo cl_I_round2.lo cl_I_trunc1.lo cl_I_trunc2.lo cl_I_compare.lo cl_I_div.lo cl_I_equal.lo cl_I_minus.lo cl_I_minus1.lo cl_I_minusp.lo cl_I_mul.lo cl_I_plus.lo cl_I_plus1.lo cl_I_plusp.lo cl_I_square.lo cl_I_uminus.lo cl_I_zerop.lo cl_I_gcd.lo cl_I_gcd_aux.lo cl_I_gcd_aux2.lo cl_I_lcm.lo cl_I_xgcd.lo cl_low_gcd.lo cl_I_hash_gcobject.lo cl_I_hash_gcpointer.lo cl_I_hash_pointer.lo cl_I_hash_rcobject.lo cl_I_hash_rcpointer.lo cl_I_hashcode.lo cl_I_hashweak_rcpointer.lo cl_I_from_string.lo cl_I_read.lo cl_I_read_stream.lo cl_I_readparsed.lo cl_BN_class.lo cl_FN_class.lo cl_I_abs.lo cl_I_as.lo cl_I_debug.lo cl_I_eqhashcode.lo cl_I_exptpos.lo cl_I_exptpos_I.lo cl_I_max.lo cl_I_min.lo cl_I_oddp.lo cl_I_ord2.lo cl_I_power2p.lo cl_I_signum.lo cl_I_aprint.lo cl_I_bprint.lo cl_I_cprint.lo cl_I_decstring.lo cl_I_dprint.lo cl_I_print.lo cl_I_print_string.lo cl_I_random.lo cl_I_trandom.lo cl_0_ring.lo cl_I_ring.lo cl_I_binomial.lo cl_I_doublefactorial.lo cl_I_factorial.lo cl_I_factorial_aux.lo cl_MI.lo cl_MI_cond_composite.lo cl_MI_debug.lo cl_MI_err_comp.lo cl_MI_lshift.lo cl_MI_rshift.lo cl_IF_millerrabin.lo cl_IF_smallprimes.lo cl_IF_trialdiv.lo cl_IF_trialdiv1.lo cl_IF_trialdiv2.lo cl_nt_cornacchia1.lo cl_nt_cornacchia4.lo cl_nt_isprobprime.lo cl_nt_jacobi.lo cl_nt_jacobi_low.lo cl_nt_nextprobprime.lo cl_nt_sqrtmodp.lo cl_UP.lo cl_UP_named.lo cl_UP_no_ring.lo cl_UP_unnamed.lo cl_UP_I_hermite.lo cl_UP_I_laguerre.lo cl_UP_I_tchebychev.lo cl_UP_RA_legendre.lo cl_UP_debug.lo cl_UP_deriv.lo cl_RA_rootp.lo cl_RA_rootp_I.lo cl_RA_sqrtp.lo cl_RA_ceil1.lo cl_RA_ceil12.lo cl_RA_ceil2.lo cl_RA_ceil22.lo cl_RA_floor1.lo cl_RA_floor12.lo cl_RA_floor2.lo cl_RA_floor22.lo cl_RA_round1.lo cl_RA_round12.lo cl_RA_round2.lo cl_RA_round22.lo cl_RA_trunc1.lo cl_RA_trunc12.lo cl_RA_trunc2.lo cl_RA_trunc22.lo cl_RA_compare.lo cl_RA_denominator.lo cl_RA_div.lo cl_RA_equal.lo cl_RA_from_I_I_div.lo cl_RA_from_I_posI.lo cl_RA_from_I_posI1.lo cl_RA_from_I_posI_div.lo cl_RA_minus.lo cl_RA_minus1.lo cl_RA_minusp.lo cl_RA_mul.lo cl_RA_numerator.lo cl_RA_plus.lo cl_RA_plus1.lo cl_RA_plusp.lo cl_RA_recip.lo cl_RA_square.lo cl_RA_uminus.lo cl_RA_zerop.lo cl_RA_from_string.lo cl_RA_read.lo cl_RA_read_stream.lo cl_RA_readparsed.lo cl_RA_abs.lo cl_RA_as.lo cl_RA_class.lo cl_RA_debug.lo cl_RA_eqhashcode.lo cl_RA_expt.lo cl_RA_expt_I.lo cl_RA_exptpos.lo cl_RA_exptpos_I.lo cl_RA_max.lo cl_RA_min.lo cl_RA_signum.lo cl_RA_aprint.lo cl_RA_bprint.lo cl_RA_cprint.lo cl_RA_dprint.lo cl_RA_print.lo cl_RA_ring.lo cl_I_logp.lo cl_RA_logp.lo cl_RA_sqrt.lo cl_R_sqrt.lo cl_F_from_R.lo cl_F_from_R_def.lo cl_F_from_R_f.lo cl_R_to_DF.lo cl_R_to_FF.lo cl_R_to_LF.lo cl_R_to_SF.lo cl_R_to_double.lo cl_R_to_float.lo cl_R_ceil1.lo cl_R_ceil12.lo cl_R_ceil2.lo cl_R_ceil22.lo cl_R_fceil1.lo cl_R_fceil12.lo cl_R_fceil2.lo cl_R_fceil22.lo cl_R_ffloor1.lo cl_R_ffloor12.lo cl_R_ffloor2.lo cl_R_ffloor22.lo cl_R_floor1.lo cl_R_floor12.lo cl_R_floor2.lo cl_R_floor22.lo cl_R_fround1.lo cl_R_fround12.lo cl_R_fround2.lo cl_R_fround22.lo cl_R_ftrunc1.lo cl_R_ftrunc12.lo cl_R_ftrunc2.lo cl_R_ftrunc22.lo cl_R_mod.lo cl_R_rem.lo cl_R_round1.lo cl_R_round12.lo cl_R_round2.lo cl_R_round22.lo cl_R_trunc1.lo cl_R_trunc12.lo cl_R_trunc2.lo cl_R_trunc22.lo cl_R_compare.lo cl_R_div.lo cl_R_equal.lo cl_R_minus.lo cl_R_minus1.lo cl_R_minusp.lo cl_R_mul.lo cl_R_plus.lo cl_R_plus1.lo cl_R_plusp.lo cl_R_recip.lo cl_R_square.lo cl_R_uminus.lo cl_R_zerop.lo cl_fmt_cardinal.lo cl_fmt_floatstring.lo cl_fmt_integer.lo cl_fmt_newroman.lo cl_fmt_oldroman.lo cl_fmt_ordinal.lo cl_fmt_paddedstring.lo cl_fmt_scaleexp.lo cl_fmt_tens.lo cl_R_from_string.lo cl_R_read.lo cl_R_read_stream.lo cl_R_abs.lo cl_R_as.lo cl_R_contagion.lo cl_R_debug.lo cl_R_eqhashcode.lo cl_R_expt.lo cl_R_expt_I.lo cl_R_max.lo cl_R_min.lo cl_R_rational.lo cl_R_rationalize.lo cl_R_signum.lo cl_R_aprint.lo cl_R_bprint.lo cl_R_cprint.lo cl_R_random.lo cl_R_ring.lo cl_R_atan.lo cl_R_atan2.lo cl_R_cos.lo cl_R_cosh.lo cl_R_coshsinh.lo cl_R_cossin.lo cl_R_exp.lo cl_R_ln.lo cl_R_log.lo cl_R_sin.lo cl_R_sinh.lo cl_R_tan.lo cl_R_tanh.lo cl_t_c1.lo cl_t_c2.lo cl_t_current.lo cl_t_current2.lo cl_t_d.lo cl_t_dec.lo cl_t_inc.lo cl_t_minus.lo cl_t_report.lo cl_t_td_minus.lo cl_t_td_plus.lo cl_GV_I.lo cl_GV_I_copy.lo cl_GV_I_debug.lo cl_GV_number.lo cl_GV_number_copy.lo cl_GV_number_debug.lo cl_SV_copy.lo cl_SV_number.lo cl_SV_number_debug.lo cl_SV_ringelt.lo cl_SV_ringelt_debug.lo cl_GV_number_aprint.lo cl_SV_aprint.lo cl_SV_number_aprint.lo rm -fr .libs/libcln.3.0.3.dylib .libs/libcln.3.dylib .libs/libcln.a .libs/libcln.dylib .libs/libcln.la .libs/libcln.lai gcc -dynamiclib -flat_namespace -undefined suppress -o .libs/libcln.3.0.3.dylib .libs/cl_N_err_d0.o .libs/cl_abort.o .libs/cl_alloca.o .libs/cl_as_err.o .libs/cl_condition.o .libs/cl_debug.o .libs/cl_debugout.o .libs/cl_free.o .libs/cl_immclasses.o .libs/cl_malloc.o .libs/cl_notreached.o .libs/cl_version.o .libs/cl_2D_div.o .libs/cl_2D_exptpos.o .libs/cl_2DS_div.o .libs/cl_2DS_recip.o .libs/cl_DS_div.o .libs/cl_DS_mul.o .libs/cl_DS_random.o .libs/cl_DS_recip.o .libs/cl_DS_recipsqrt.o .libs/cl_DS_sqrt.o .libs/cl_DS_trandom.o .libs/cl_rcpointer2_hashweak_rcpointer.o .libs/cl_rcpointer_hashweak_rcpointer.o .libs/cl_read_err_bad.o .libs/cl_read_err_eof.o .libs/cl_read_err_junk.o .libs/cl_low_div.o .libs/cl_low_isqrt.o .libs/cl_low_isqrt2.o .libs/cl_low_mul.o .libs/cl_output_dec.o .libs/cl_output_hex.o .libs/cl_prin_globals.o .libs/cl_pl_add.o .libs/cl_pl_d.o .libs/cl_pl_get.o .libs/cl_UL_random.o .libs/cl_random_def.o .libs/cl_random_from.o .libs/cl_no_ring.o .libs/cl_ring_debug.o .libs/cl_spushstring_append.o .libs/cl_spushstring_push.o .libs/cl_sstring.o .libs/cl_st_c2.o .libs/cl_st_concat1.o .libs/cl_st_concat2.o .libs/cl_st_concat3.o .libs/cl_st_debug.o .libs/cl_st_hashcode.o .libs/cl_st_make0.o .libs/cl_st_make1.o .libs/cl_st_make2.o .libs/cl_st_null.o .libs/cl_sy_hashcode.o .libs/cl_symbol.o .libs/cl_st_get1.o .libs/cl_st_get2.o .libs/cl_st_getline1.o .libs/cl_st_getline2.o .libs/cl_st_gettoken.o .libs/cl_st_class.o .libs/cl_st_print.o .libs/cl_C_abs.o .libs/cl_C_abs_aux.o .libs/cl_C_signum.o .libs/cl_C_sqrt.o .libs/cl_DF_hypot.o .libs/cl_FF_hypot.o .libs/cl_LF_hypot.o .libs/cl_R_hypot.o .libs/cl_SF_hypot.o .libs/cl_C_equal.o .libs/cl_C_from_R_R_complex.o .libs/cl_C_from_R_R_complex1.o .libs/cl_C_imagpart.o .libs/cl_C_minus.o .libs/cl_C_minus1.o .libs/cl_C_mul.o .libs/cl_C_plus.o .libs/cl_C_plus1.o .libs/cl_C_realpart.o .libs/cl_C_square.o .libs/cl_C_uminus.o .libs/cl_C_zerop.o .libs/cl_N_from_string.o .libs/cl_N_read.o .libs/cl_N_read_stream.o .libs/cl_C_class.o .libs/cl_C_conjugate.o .libs/cl_C_debug.o .libs/cl_C_eqhashcode.o .libs/cl_C_expt.o .libs/cl_C_expt_I.o .libs/cl_N_as.o .libs/cl_N_aprint.o .libs/cl_N_bprint.o .libs/cl_C_ring.o .libs/cl_C_acos.o .libs/cl_C_acosh.o .libs/cl_C_asin.o .libs/cl_C_asinh.o .libs/cl_C_asinh_aux.o .libs/cl_C_atan.o .libs/cl_C_atanh.o .libs/cl_C_atanh_aux.o .libs/cl_C_cis.o .libs/cl_C_cos.o .libs/cl_C_cosh.o .libs/cl_C_exp.o .libs/cl_C_expt_C.o .libs/cl_C_log.o .libs/cl_C_log2.o .libs/cl_C_phase.o .libs/cl_C_sin.o .libs/cl_C_sinh.o .libs/cl_C_tan.o .libs/cl_C_tanh.o .libs/cl_R_cis.o .libs/cl_C_DF_recip.o .libs/cl_C_FF_recip.o .libs/cl_C_LF_recip.o .libs/cl_C_SF_recip.o .libs/cl_C_div.o .libs/cl_C_recip.o .libs/cl_F_sqrt.o .libs/cl_F_err_nan.o .libs/cl_F_err_ov.o .libs/cl_F_err_un.o .libs/cl_F_globals.o .libs/cl_ieee.o .libs/cl_DF_to_FF.o .libs/cl_DF_to_LF.o .libs/cl_DF_to_SF.o .libs/cl_DF_to_double.o .libs/cl_DF_to_float.o .libs/cl_FF_to_DF.o .libs/cl_FF_to_LF.o .libs/cl_FF_to_SF.o .libs/cl_FF_to_double.o .libs/cl_FF_to_float.o .libs/cl_F_from_F.o .libs/cl_F_from_F_f.o .libs/cl_F_from_I.o .libs/cl_F_from_I_def.o .libs/cl_F_from_I_f.o .libs/cl_F_from_RA.o .libs/cl_F_from_RA_def.o .libs/cl_F_from_RA_f.o .libs/cl_F_to_DF.o .libs/cl_F_to_FF.o .libs/cl_F_to_LF.o .libs/cl_F_to_SF.o .libs/cl_F_to_double.o .libs/cl_F_to_float.o .libs/cl_LF_to_DF.o .libs/cl_LF_to_FF.o .libs/cl_LF_to_SF.o .libs/cl_LF_to_double.o .libs/cl_LF_to_float.o .libs/cl_SF_to_DF.o .libs/cl_SF_to_FF.o .libs/cl_SF_to_LF.o .libs/cl_SF_to_double.o .libs/cl_SF_to_float.o .libs/cl_F_ceil1.o .libs/cl_F_ceil2.o .libs/cl_F_ceil22.o .libs/cl_F_fceil1.o .libs/cl_F_fceil2.o .libs/cl_F_ffloor1.o .libs/cl_F_ffloor2.o .libs/cl_F_floor1.o .libs/cl_F_floor2.o .libs/cl_F_floor22.o .libs/cl_F_fround1.o .libs/cl_F_fround2.o .libs/cl_F_ftrunc1.o .libs/cl_F_ftrunc2.o .libs/cl_F_round1.o .libs/cl_F_round2.o .libs/cl_F_round22.o .libs/cl_F_trunc1.o .libs/cl_F_trunc2.o .libs/cl_F_trunc22.o .libs/cl_F_I_div.o .libs/cl_F_I_mul.o .libs/cl_F_RA_div.o .libs/cl_F_RA_mul.o .libs/cl_F_compare.o .libs/cl_F_div.o .libs/cl_F_minus.o .libs/cl_F_minusp.o .libs/cl_F_mul.o .libs/cl_F_plus.o .libs/cl_F_plusp.o .libs/cl_F_recip.o .libs/cl_F_scale.o .libs/cl_F_scale_I.o .libs/cl_F_square.o .libs/cl_F_uminus.o .libs/cl_F_zerop.o .libs/cl_I_F_div.o .libs/cl_RA_F_div.o .libs/cl_F_from_string.o .libs/cl_F_read.o .libs/cl_F_read_stream.o .libs/cl_F_readparsed.o .libs/cl_F_abs.o .libs/cl_F_as.o .libs/cl_F_decode.o .libs/cl_F_digits.o .libs/cl_F_epsneg.o .libs/cl_F_epspos.o .libs/cl_F_eqhashcode.o .libs/cl_F_exponent.o .libs/cl_F_extendsqrt.o .libs/cl_F_extendsqrtx.o .libs/cl_F_idecode.o .libs/cl_F_leastneg.o .libs/cl_F_leastpos.o .libs/cl_F_max.o .libs/cl_F_min.o .libs/cl_F_mostneg.o .libs/cl_F_mostpos.o .libs/cl_F_precision.o .libs/cl_F_rational.o .libs/cl_F_shortenrel.o .libs/cl_F_sign.o .libs/cl_F_sign2.o .libs/cl_F_signum.o .libs/cl_float_format.o .libs/cl_F_aprint.o .libs/cl_F_bprint.o .libs/cl_F_cprint.o .libs/cl_F_dprint.o .libs/cl_F_printb.o .libs/cl_F_random.o .libs/cl_F_atanhx.o .libs/cl_F_atanx.o .libs/cl_F_catalanconst.o .libs/cl_F_catalanconst_def.o .libs/cl_F_catalanconst_f.o .libs/cl_F_catalanconst_var.o .libs/cl_F_cos.o .libs/cl_F_cosh.o .libs/cl_F_coshsinh.o .libs/cl_F_cossin.o .libs/cl_F_eulerconst.o .libs/cl_F_eulerconst_def.o .libs/cl_F_eulerconst_f.o .libs/cl_F_eulerconst_var.o .libs/cl_F_exp.o .libs/cl_F_exp1.o .libs/cl_F_exp1_def.o .libs/cl_F_exp1_f.o .libs/cl_F_exp1_var.o .libs/cl_F_expx.o .libs/cl_F_ln.o .libs/cl_F_ln10.o .libs/cl_F_ln10_f.o .libs/cl_F_ln10_var.o .libs/cl_F_ln2.o .libs/cl_F_ln2_f.o .libs/cl_F_ln2_var.o .libs/cl_F_lnx.o .libs/cl_F_pi.o .libs/cl_F_pi_def.o .libs/cl_F_pi_f.o .libs/cl_F_pi_var.o .libs/cl_F_roundpi.o .libs/cl_F_roundpi2.o .libs/cl_F_sin.o .libs/cl_F_sinh.o .libs/cl_F_sinhx.o .libs/cl_F_sinx.o .libs/cl_F_tan.o .libs/cl_F_tanh.o .libs/cl_F_zeta_int.o .libs/cl_F_zeta_int_def.o .libs/cl_F_zeta_int_f.o .libs/cl_LF_atan_recip.o .libs/cl_LF_atanh_recip.o .libs/cl_LF_catalanconst.o .libs/cl_LF_coshsinh.o .libs/cl_LF_coshsinh_aux.o .libs/cl_LF_cossin.o .libs/cl_LF_cossin_aux.o .libs/cl_LF_eulerconst.o .libs/cl_LF_exp1.o .libs/cl_LF_exp_aux.o .libs/cl_LF_ln10.o .libs/cl_LF_ln2.o .libs/cl_LF_pi.o .libs/cl_LF_ratseries.o .libs/cl_LF_ratseries_.o .libs/cl_LF_ratseries_a.o .libs/cl_LF_ratseries_ab.o .libs/cl_LF_ratseries_b.o .libs/cl_LF_ratseries_p.o .libs/cl_LF_ratseries_pa.o .libs/cl_LF_ratseries_pab.o .libs/cl_LF_ratseries_pb.o .libs/cl_LF_ratseries_pq.o .libs/cl_LF_ratseries_pqa.o .libs/cl_LF_ratseries_pqab.o .libs/cl_LF_ratseries_pqb.o .libs/cl_LF_ratseries_q.o .libs/cl_LF_ratseries_qa.o .libs/cl_LF_ratseries_qab.o .libs/cl_LF_ratseries_qb.o .libs/cl_LF_ratseries_stream_pq.o .libs/cl_LF_ratseries_stream_pqa.o .libs/cl_LF_ratseries_stream_pqab.o .libs/cl_LF_ratseries_stream_pqb.o .libs/cl_LF_ratsumseries_pqcd.o .libs/cl_LF_ratsumseries_pqcd_aux.o .libs/cl_LF_ratsumseries_pqd.o .libs/cl_LF_ratsumseries_pqd_aux.o .libs/cl_LF_zeta3.o .libs/cl_LF_zeta_int.o .libs/cl_DF_sqrt.o .libs/cl_DF_from_double.o .libs/cl_DF_to_doublej.o .libs/cl_I_to_double.o .libs/cl_RA_to_double.o .libs/cl_DF_ceil22.o .libs/cl_DF_fceil.o .libs/cl_DF_floor22.o .libs/cl_DF_recip.o .libs/cl_DF_round22.o .libs/cl_DF_trunc22.o .libs/cl_DF_compare.o .libs/cl_DF_div.o .libs/cl_DF_ffloor.o .libs/cl_DF_from_I.o .libs/cl_DF_from_RA.o .libs/cl_DF_fround.o .libs/cl_DF_ftrunc.o .libs/cl_DF_futrunc.o .libs/cl_DF_globals.o .libs/cl_DF_minus.o .libs/cl_DF_minusp.o .libs/cl_DF_mul.o .libs/cl_DF_plus.o .libs/cl_DF_plusp.o .libs/cl_DF_scale.o .libs/cl_DF_scale_I.o .libs/cl_DF_to_I.o .libs/cl_DF_uminus.o .libs/cl_DF_zerop.o .libs/cl_DF_from_string.o .libs/cl_DF_abs.o .libs/cl_DF_as.o .libs/cl_DF_class.o .libs/cl_DF_debug.o .libs/cl_DF_decode.o .libs/cl_DF_digits.o .libs/cl_DF_eqhashcode.o .libs/cl_DF_exponent.o .libs/cl_DF_idecode.o .libs/cl_DF_max.o .libs/cl_DF_min.o .libs/cl_DF_precision.o .libs/cl_DF_sign.o .libs/cl_DF_signum.o .libs/cl_FF_sqrt.o .libs/cl_FF_from_float.o .libs/cl_FF_to_floatj.o .libs/cl_I_to_float.o .libs/cl_RA_to_float.o .libs/cl_FF_ceil22.o .libs/cl_FF_fceil.o .libs/cl_FF_floor22.o .libs/cl_FF_recip.o .libs/cl_FF_round22.o .libs/cl_FF_trunc22.o .libs/cl_FF_compare.o .libs/cl_FF_div.o .libs/cl_FF_ffloor.o .libs/cl_FF_from_I.o .libs/cl_FF_from_RA.o .libs/cl_FF_fround.o .libs/cl_FF_ftrunc.o .libs/cl_FF_futrunc.o .libs/cl_FF_globals.o .libs/cl_FF_minus.o .libs/cl_FF_minusp.o .libs/cl_FF_mul.o .libs/cl_FF_plus.o .libs/cl_FF_plusp.o .libs/cl_FF_scale.o .libs/cl_FF_scale_I.o .libs/cl_FF_to_I.o .libs/cl_FF_uminus.o .libs/cl_FF_zerop.o .libs/cl_FF_from_string.o .libs/cl_FF_abs.o .libs/cl_FF_as.o .libs/cl_FF_class.o .libs/cl_FF_debug.o .libs/cl_FF_decode.o .libs/cl_FF_digits.o .libs/cl_FF_eqhashcode.o .libs/cl_FF_exponent.o .libs/cl_FF_idecode.o .libs/cl_FF_max.o .libs/cl_FF_min.o .libs/cl_FF_precision.o .libs/cl_FF_sign.o .libs/cl_FF_signum.o .libs/cl_LF_sqrt.o .libs/cl_LF_ceil22.o .libs/cl_LF_fceil.o .libs/cl_LF_floor22.o .libs/cl_LF_recip.o .libs/cl_LF_round22.o .libs/cl_LF_trunc22.o .libs/cl_I_LF_div.o .libs/cl_LF_1minus.o .libs/cl_LF_1plus.o .libs/cl_LF_2minus.o .libs/cl_LF_2plus.o .libs/cl_LF_I_div.o .libs/cl_LF_I_mul.o .libs/cl_LF_RA_div.o .libs/cl_LF_RA_mul.o .libs/cl_LF_compare.o .libs/cl_LF_div.o .libs/cl_LF_ffloor.o .libs/cl_LF_from_I.o .libs/cl_LF_from_RA.o .libs/cl_LF_fround.o .libs/cl_LF_ftrunc.o .libs/cl_LF_futrunc.o .libs/cl_LF_globals.o .libs/cl_LF_minus1.o .libs/cl_LF_minusp.o .libs/cl_LF_mul.o .libs/cl_LF_plus1.o .libs/cl_LF_plusp.o .libs/cl_LF_scale.o .libs/cl_LF_scale_I.o .libs/cl_LF_square.o .libs/cl_LF_to_I.o .libs/cl_LF_uminus.o .libs/cl_LF_zerop.o .libs/cl_RA_LF_div.o .libs/cl_LF_from_string.o .libs/cl_LF_abs.o .libs/cl_LF_as.o .libs/cl_LF_class.o .libs/cl_LF_debug.o .libs/cl_LF_decode.o .libs/cl_LF_digits.o .libs/cl_LF_eqhashcode.o .libs/cl_LF_exponent.o .libs/cl_LF_extend.o .libs/cl_LF_idecode.o .libs/cl_LF_leninc.o .libs/cl_LF_lenincx.o .libs/cl_LF_max.o .libs/cl_LF_min.o .libs/cl_LF_precision.o .libs/cl_LF_shorten.o .libs/cl_LF_shortenrel.o .libs/cl_LF_shortenwith.o .libs/cl_LF_sign.o .libs/cl_LF_signum.o .libs/cl_LF_to_LF.o .libs/cl_SF_sqrt.o .libs/cl_SF_ceil22.o .libs/cl_SF_fceil.o .libs/cl_SF_ffloor.o .libs/cl_SF_floor22.o .libs/cl_SF_recip.o .libs/cl_SF_round22.o .libs/cl_SF_trunc22.o .libs/cl_SF_compare.o .libs/cl_SF_div.o .libs/cl_SF_from_I.o .libs/cl_SF_from_RA.o .libs/cl_SF_fround.o .libs/cl_SF_ftrunc.o .libs/cl_SF_futrunc.o .libs/cl_SF_minus.o .libs/cl_SF_minusp.o .libs/cl_SF_mul.o .libs/cl_SF_plus.o .libs/cl_SF_plusp.o .libs/cl_SF_scale.o .libs/cl_SF_scale_I.o .libs/cl_SF_to_I.o .libs/cl_SF_uminus.o .libs/cl_SF_zerop.o .libs/cl_SF_from_string.o .libs/cl_SF_abs.o .libs/cl_SF_as.o .libs/cl_SF_class.o .libs/cl_SF_debug.o .libs/cl_SF_decode.o .libs/cl_SF_digits.o .libs/cl_SF_eqhashcode.o .libs/cl_SF_exponent.o .libs/cl_SF_idecode.o .libs/cl_SF_max.o .libs/cl_SF_min.o .libs/cl_SF_precision.o .libs/cl_SF_sign.o .libs/cl_SF_signum.o .libs/cl_I_2adic_div.o .libs/cl_I_2adic_recip.o .libs/cl_I_rootp.o .libs/cl_I_rootp_I.o .libs/cl_I_rootp_aux.o .libs/cl_I_sqrt.o .libs/cl_I_sqrtp.o .libs/cl_I_ash.o .libs/cl_I_ash_I.o .libs/cl_I_asherr.o .libs/cl_I_boole.o .libs/cl_I_dpb.o .libs/cl_I_dpf.o .libs/cl_I_fullbyte.o .libs/cl_I_ilength.o .libs/cl_I_ldb.o .libs/cl_I_ldbtest.o .libs/cl_I_ldbx.o .libs/cl_I_ldbxtest.o .libs/cl_I_log_aux.o .libs/cl_I_logand.o .libs/cl_I_logandc2.o .libs/cl_I_logbitp.o .libs/cl_I_logbitp_I.o .libs/cl_I_logcount.o .libs/cl_I_logeqv.o .libs/cl_I_logior.o .libs/cl_I_lognand.o .libs/cl_I_lognor.o .libs/cl_I_lognot.o .libs/cl_I_logorc2.o .libs/cl_I_logtest.o .libs/cl_I_logxor.o .libs/cl_I_mkf.o .libs/cl_I_mkfx.o .libs/cl_I_digits_need.o .libs/cl_I_from_DS.o .libs/cl_I_from_L.o .libs/cl_I_from_L2.o .libs/cl_I_from_NDS.o .libs/cl_I_from_NUDS.o .libs/cl_I_from_Q.o .libs/cl_I_from_UDS.o .libs/cl_I_from_UL.o .libs/cl_I_from_UL2.o .libs/cl_I_from_UQ.o .libs/cl_I_from_digits.o .libs/cl_I_mul10plus.o .libs/cl_I_to_L.o .libs/cl_I_to_Q.o .libs/cl_I_to_UL.o .libs/cl_I_to_UQ.o .libs/cl_I_to_digits.o .libs/cl_I_ceil1.o .libs/cl_I_ceil2.o .libs/cl_I_exquo.o .libs/cl_I_exquoerr.o .libs/cl_I_exquopos.o .libs/cl_I_floor1.o .libs/cl_I_floor2.o .libs/cl_I_mod.o .libs/cl_I_rem.o .libs/cl_I_round1.o .libs/cl_I_round2.o .libs/cl_I_trunc1.o .libs/cl_I_trunc2.o .libs/cl_I_compare.o .libs/cl_I_div.o .libs/cl_I_equal.o .libs/cl_I_minus.o .libs/cl_I_minus1.o .libs/cl_I_minusp.o .libs/cl_I_mul.o .libs/cl_I_plus.o .libs/cl_I_plus1.o .libs/cl_I_plusp.o .libs/cl_I_square.o .libs/cl_I_uminus.o .libs/cl_I_zerop.o .libs/cl_I_gcd.o .libs/cl_I_gcd_aux.o .libs/cl_I_gcd_aux2.o .libs/cl_I_lcm.o .libs/cl_I_xgcd.o .libs/cl_low_gcd.o .libs/cl_I_hash_gcobject.o .libs/cl_I_hash_gcpointer.o .libs/cl_I_hash_pointer.o .libs/cl_I_hash_rcobject.o .libs/cl_I_hash_rcpointer.o .libs/cl_I_hashcode.o .libs/cl_I_hashweak_rcpointer.o .libs/cl_I_from_string.o .libs/cl_I_read.o .libs/cl_I_read_stream.o .libs/cl_I_readparsed.o .libs/cl_BN_class.o .libs/cl_FN_class.o .libs/cl_I_abs.o .libs/cl_I_as.o .libs/cl_I_debug.o .libs/cl_I_eqhashcode.o .libs/cl_I_exptpos.o .libs/cl_I_exptpos_I.o .libs/cl_I_max.o .libs/cl_I_min.o .libs/cl_I_oddp.o .libs/cl_I_ord2.o .libs/cl_I_power2p.o .libs/cl_I_signum.o .libs/cl_I_aprint.o .libs/cl_I_bprint.o .libs/cl_I_cprint.o .libs/cl_I_decstring.o .libs/cl_I_dprint.o .libs/cl_I_print.o .libs/cl_I_print_string.o .libs/cl_I_random.o .libs/cl_I_trandom.o .libs/cl_0_ring.o .libs/cl_I_ring.o .libs/cl_I_binomial.o .libs/cl_I_doublefactorial.o .libs/cl_I_factorial.o .libs/cl_I_factorial_aux.o .libs/cl_MI.o .libs/cl_MI_cond_composite.o .libs/cl_MI_debug.o .libs/cl_MI_err_comp.o .libs/cl_MI_lshift.o .libs/cl_MI_rshift.o .libs/cl_IF_millerrabin.o .libs/cl_IF_smallprimes.o .libs/cl_IF_trialdiv.o .libs/cl_IF_trialdiv1.o .libs/cl_IF_trialdiv2.o .libs/cl_nt_cornacchia1.o .libs/cl_nt_cornacchia4.o .libs/cl_nt_isprobprime.o .libs/cl_nt_jacobi.o .libs/cl_nt_jacobi_low.o .libs/cl_nt_nextprobprime.o .libs/cl_nt_sqrtmodp.o .libs/cl_UP.o .libs/cl_UP_named.o .libs/cl_UP_no_ring.o .libs/cl_UP_unnamed.o .libs/cl_UP_I_hermite.o .libs/cl_UP_I_laguerre.o .libs/cl_UP_I_tchebychev.o .libs/cl_UP_RA_legendre.o .libs/cl_UP_debug.o .libs/cl_UP_deriv.o .libs/cl_RA_rootp.o .libs/cl_RA_rootp_I.o .libs/cl_RA_sqrtp.o .libs/cl_RA_ceil1.o .libs/cl_RA_ceil12.o .libs/cl_RA_ceil2.o .libs/cl_RA_ceil22.o .libs/cl_RA_floor1.o .libs/cl_RA_floor12.o .libs/cl_RA_floor2.o .libs/cl_RA_floor22.o .libs/cl_RA_round1.o .libs/cl_RA_round12.o .libs/cl_RA_round2.o .libs/cl_RA_round22.o .libs/cl_RA_trunc1.o .libs/cl_RA_trunc12.o .libs/cl_RA_trunc2.o .libs/cl_RA_trunc22.o .libs/cl_RA_compare.o .libs/cl_RA_denominator.o .libs/cl_RA_div.o .libs/cl_RA_equal.o .libs/cl_RA_from_I_I_div.o .libs/cl_RA_from_I_posI.o .libs/cl_RA_from_I_posI1.o .libs/cl_RA_from_I_posI_div.o .libs/cl_RA_minus.o .libs/cl_RA_minus1.o .libs/cl_RA_minusp.o .libs/cl_RA_mul.o .libs/cl_RA_numerator.o .libs/cl_RA_plus.o .libs/cl_RA_plus1.o .libs/cl_RA_plusp.o .libs/cl_RA_recip.o .libs/cl_RA_square.o .libs/cl_RA_uminus.o .libs/cl_RA_zerop.o .libs/cl_RA_from_string.o .libs/cl_RA_read.o .libs/cl_RA_read_stream.o .libs/cl_RA_readparsed.o .libs/cl_RA_abs.o .libs/cl_RA_as.o .libs/cl_RA_class.o .libs/cl_RA_debug.o .libs/cl_RA_eqhashcode.o .libs/cl_RA_expt.o .libs/cl_RA_expt_I.o .libs/cl_RA_exptpos.o .libs/cl_RA_exptpos_I.o .libs/cl_RA_max.o .libs/cl_RA_min.o .libs/cl_RA_signum.o .libs/cl_RA_aprint.o .libs/cl_RA_bprint.o .libs/cl_RA_cprint.o .libs/cl_RA_dprint.o .libs/cl_RA_print.o .libs/cl_RA_ring.o .libs/cl_I_logp.o .libs/cl_RA_logp.o .libs/cl_RA_sqrt.o .libs/cl_R_sqrt.o .libs/cl_F_from_R.o .libs/cl_F_from_R_def.o .libs/cl_F_from_R_f.o .libs/cl_R_to_DF.o .libs/cl_R_to_FF.o .libs/cl_R_to_LF.o .libs/cl_R_to_SF.o .libs/cl_R_to_double.o .libs/cl_R_to_float.o .libs/cl_R_ceil1.o .libs/cl_R_ceil12.o .libs/cl_R_ceil2.o .libs/cl_R_ceil22.o .libs/cl_R_fceil1.o .libs/cl_R_fceil12.o .libs/cl_R_fceil2.o .libs/cl_R_fceil22.o .libs/cl_R_ffloor1.o .libs/cl_R_ffloor12.o .libs/cl_R_ffloor2.o .libs/cl_R_ffloor22.o .libs/cl_R_floor1.o .libs/cl_R_floor12.o .libs/cl_R_floor2.o .libs/cl_R_floor22.o .libs/cl_R_fround1.o .libs/cl_R_fround12.o .libs/cl_R_fround2.o .libs/cl_R_fround22.o .libs/cl_R_ftrunc1.o .libs/cl_R_ftrunc12.o .libs/cl_R_ftrunc2.o .libs/cl_R_ftrunc22.o .libs/cl_R_mod.o .libs/cl_R_rem.o .libs/cl_R_round1.o .libs/cl_R_round12.o .libs/cl_R_round2.o .libs/cl_R_round22.o .libs/cl_R_trunc1.o .libs/cl_R_trunc12.o .libs/cl_R_trunc2.o .libs/cl_R_trunc22.o .libs/cl_R_compare.o .libs/cl_R_div.o .libs/cl_R_equal.o .libs/cl_R_minus.o .libs/cl_R_minus1.o .libs/cl_R_minusp.o .libs/cl_R_mul.o .libs/cl_R_plus.o .libs/cl_R_plus1.o .libs/cl_R_plusp.o .libs/cl_R_recip.o .libs/cl_R_square.o .libs/cl_R_uminus.o .libs/cl_R_zerop.o .libs/cl_fmt_cardinal.o .libs/cl_fmt_floatstring.o .libs/cl_fmt_integer.o .libs/cl_fmt_newroman.o .libs/cl_fmt_oldroman.o .libs/cl_fmt_ordinal.o .libs/cl_fmt_paddedstring.o .libs/cl_fmt_scaleexp.o .libs/cl_fmt_tens.o .libs/cl_R_from_string.o .libs/cl_R_read.o .libs/cl_R_read_stream.o .libs/cl_R_abs.o .libs/cl_R_as.o .libs/cl_R_contagion.o .libs/cl_R_debug.o .libs/cl_R_eqhashcode.o .libs/cl_R_expt.o .libs/cl_R_expt_I.o .libs/cl_R_max.o .libs/cl_R_min.o .libs/cl_R_rational.o .libs/cl_R_rationalize.o .libs/cl_R_signum.o .libs/cl_R_aprint.o .libs/cl_R_bprint.o .libs/cl_R_cprint.o .libs/cl_R_random.o .libs/cl_R_ring.o .libs/cl_R_atan.o .libs/cl_R_atan2.o .libs/cl_R_cos.o .libs/cl_R_cosh.o .libs/cl_R_coshsinh.o .libs/cl_R_cossin.o .libs/cl_R_exp.o .libs/cl_R_ln.o .libs/cl_R_log.o .libs/cl_R_sin.o .libs/cl_R_sinh.o .libs/cl_R_tan.o .libs/cl_R_tanh.o .libs/cl_t_c1.o .libs/cl_t_c2.o .libs/cl_t_current.o .libs/cl_t_current2.o .libs/cl_t_d.o .libs/cl_t_dec.o .libs/cl_t_inc.o .libs/cl_t_minus.o .libs/cl_t_report.o .libs/cl_t_td_minus.o .libs/cl_t_td_plus.o .libs/cl_GV_I.o .libs/cl_GV_I_copy.o .libs/cl_GV_I_debug.o .libs/cl_GV_number.o .libs/cl_GV_number_copy.o .libs/cl_GV_number_debug.o .libs/cl_SV_copy.o .libs/cl_SV_number.o .libs/cl_SV_number_debug.o .libs/cl_SV_ringelt.o .libs/cl_SV_ringelt_debug.o .libs/cl_GV_number_aprint.o .libs/cl_SV_aprint.o .libs/cl_SV_number_aprint.o /usr/local/lib/libgmp.dylib -install_name /usr/local/lib/libcln.3.dylib -compatibility_version 4 -current_version 4.3 (cd .libs && rm -f libcln.3.dylib && ln -s libcln.3.0.3.dylib libcln.3.dylib) (cd .libs && rm -f libcln.dylib && ln -s libcln.3.0.3.dylib libcln.dylib) ar cru .libs/libcln.a cl_N_err_d0.o cl_abort.o cl_alloca.o cl_as_err.o cl_condition.o cl_debug.o cl_debugout.o cl_free.o cl_immclasses.o cl_malloc.o cl_notreached.o cl_version.o cl_2D_div.o cl_2D_exptpos.o cl_2DS_div.o cl_2DS_recip.o cl_DS_div.o cl_DS_mul.o cl_DS_random.o cl_DS_recip.o cl_DS_recipsqrt.o cl_DS_sqrt.o cl_DS_trandom.o cl_rcpointer2_hashweak_rcpointer.o cl_rcpointer_hashweak_rcpointer.o cl_read_err_bad.o cl_read_err_eof.o cl_read_err_junk.o cl_low_div.o cl_low_isqrt.o cl_low_isqrt2.o cl_low_mul.o cl_output_dec.o cl_output_hex.o cl_prin_globals.o cl_pl_add.o cl_pl_d.o cl_pl_get.o cl_UL_random.o cl_random_def.o cl_random_from.o cl_no_ring.o cl_ring_debug.o cl_spushstring_append.o cl_spushstring_push.o cl_sstring.o cl_st_c2.o cl_st_concat1.o cl_st_concat2.o cl_st_concat3.o cl_st_debug.o cl_st_hashcode.o cl_st_make0.o cl_st_make1.o cl_st_make2.o cl_st_null.o cl_sy_hashcode.o cl_symbol.o cl_st_get1.o cl_st_get2.o cl_st_getline1.o cl_st_getline2.o cl_st_gettoken.o cl_st_class.o cl_st_print.o cl_C_abs.o cl_C_abs_aux.o cl_C_signum.o cl_C_sqrt.o cl_DF_hypot.o cl_FF_hypot.o cl_LF_hypot.o cl_R_hypot.o cl_SF_hypot.o cl_C_equal.o cl_C_from_R_R_complex.o cl_C_from_R_R_complex1.o cl_C_imagpart.o cl_C_minus.o cl_C_minus1.o cl_C_mul.o cl_C_plus.o cl_C_plus1.o cl_C_realpart.o cl_C_square.o cl_C_uminus.o cl_C_zerop.o cl_N_from_string.o cl_N_read.o cl_N_read_stream.o cl_C_class.o cl_C_conjugate.o cl_C_debug.o cl_C_eqhashcode.o cl_C_expt.o cl_C_expt_I.o cl_N_as.o cl_N_aprint.o cl_N_bprint.o cl_C_ring.o cl_C_acos.o cl_C_acosh.o cl_C_asin.o cl_C_asinh.o cl_C_asinh_aux.o cl_C_atan.o cl_C_atanh.o cl_C_atanh_aux.o cl_C_cis.o cl_C_cos.o cl_C_cosh.o cl_C_exp.o cl_C_expt_C.o cl_C_log.o cl_C_log2.o cl_C_phase.o cl_C_sin.o cl_C_sinh.o cl_C_tan.o cl_C_tanh.o cl_R_cis.o cl_C_DF_recip.o cl_C_FF_recip.o cl_C_LF_recip.o cl_C_SF_recip.o cl_C_div.o cl_C_recip.o cl_F_sqrt.o cl_F_err_nan.o cl_F_err_ov.o cl_F_err_un.o cl_F_globals.o cl_ieee.o cl_DF_to_FF.o cl_DF_to_LF.o cl_DF_to_SF.o cl_DF_to_double.o cl_DF_to_float.o cl_FF_to_DF.o cl_FF_to_LF.o cl_FF_to_SF.o cl_FF_to_double.o cl_FF_to_float.o cl_F_from_F.o cl_F_from_F_f.o cl_F_from_I.o cl_F_from_I_def.o cl_F_from_I_f.o cl_F_from_RA.o cl_F_from_RA_def.o cl_F_from_RA_f.o cl_F_to_DF.o cl_F_to_FF.o cl_F_to_LF.o cl_F_to_SF.o cl_F_to_double.o cl_F_to_float.o cl_LF_to_DF.o cl_LF_to_FF.o cl_LF_to_SF.o cl_LF_to_double.o cl_LF_to_float.o cl_SF_to_DF.o cl_SF_to_FF.o cl_SF_to_LF.o cl_SF_to_double.o cl_SF_to_float.o cl_F_ceil1.o cl_F_ceil2.o cl_F_ceil22.o cl_F_fceil1.o cl_F_fceil2.o cl_F_ffloor1.o cl_F_ffloor2.o cl_F_floor1.o cl_F_floor2.o cl_F_floor22.o cl_F_fround1.o cl_F_fround2.o cl_F_ftrunc1.o cl_F_ftrunc2.o cl_F_round1.o cl_F_round2.o cl_F_round22.o cl_F_trunc1.o cl_F_trunc2.o cl_F_trunc22.o cl_F_I_div.o cl_F_I_mul.o cl_F_RA_div.o cl_F_RA_mul.o cl_F_compare.o cl_F_div.o cl_F_minus.o cl_F_minusp.o cl_F_mul.o cl_F_plus.o cl_F_plusp.o cl_F_recip.o cl_F_scale.o cl_F_scale_I.o cl_F_square.o cl_F_uminus.o cl_F_zerop.o cl_I_F_div.o cl_RA_F_div.o cl_F_from_string.o cl_F_read.o cl_F_read_stream.o cl_F_readparsed.o cl_F_abs.o cl_F_as.o cl_F_decode.o cl_F_digits.o cl_F_epsneg.o cl_F_epspos.o cl_F_eqhashcode.o cl_F_exponent.o cl_F_extendsqrt.o cl_F_extendsqrtx.o cl_F_idecode.o cl_F_leastneg.o cl_F_leastpos.o cl_F_max.o cl_F_min.o cl_F_mostneg.o cl_F_mostpos.o cl_F_precision.o cl_F_rational.o cl_F_shortenrel.o cl_F_sign.o cl_F_sign2.o cl_F_signum.o cl_float_format.o cl_F_aprint.o cl_F_bprint.o cl_F_cprint.o cl_F_dprint.o cl_F_printb.o cl_F_random.o cl_F_atanhx.o cl_F_atanx.o cl_F_catalanconst.o cl_F_catalanconst_def.o cl_F_catalanconst_f.o cl_F_catalanconst_var.o cl_F_cos.o cl_F_cosh.o cl_F_coshsinh.o cl_F_cossin.o cl_F_eulerconst.o cl_F_eulerconst_def.o cl_F_eulerconst_f.o cl_F_eulerconst_var.o cl_F_exp.o cl_F_exp1.o cl_F_exp1_def.o cl_F_exp1_f.o cl_F_exp1_var.o cl_F_expx.o cl_F_ln.o cl_F_ln10.o cl_F_ln10_f.o cl_F_ln10_var.o cl_F_ln2.o cl_F_ln2_f.o cl_F_ln2_var.o cl_F_lnx.o cl_F_pi.o cl_F_pi_def.o cl_F_pi_f.o cl_F_pi_var.o cl_F_roundpi.o cl_F_roundpi2.o cl_F_sin.o cl_F_sinh.o cl_F_sinhx.o cl_F_sinx.o cl_F_tan.o cl_F_tanh.o cl_F_zeta_int.o cl_F_zeta_int_def.o cl_F_zeta_int_f.o cl_LF_atan_recip.o cl_LF_atanh_recip.o cl_LF_catalanconst.o cl_LF_coshsinh.o cl_LF_coshsinh_aux.o cl_LF_cossin.o cl_LF_cossin_aux.o cl_LF_eulerconst.o cl_LF_exp1.o cl_LF_exp_aux.o cl_LF_ln10.o cl_LF_ln2.o cl_LF_pi.o cl_LF_ratseries.o cl_LF_ratseries_.o cl_LF_ratseries_a.o cl_LF_ratseries_ab.o cl_LF_ratseries_b.o cl_LF_ratseries_p.o cl_LF_ratseries_pa.o cl_LF_ratseries_pab.o cl_LF_ratseries_pb.o cl_LF_ratseries_pq.o cl_LF_ratseries_pqa.o cl_LF_ratseries_pqab.o cl_LF_ratseries_pqb.o cl_LF_ratseries_q.o cl_LF_ratseries_qa.o cl_LF_ratseries_qab.o cl_LF_ratseries_qb.o cl_LF_ratseries_stream_pq.o cl_LF_ratseries_stream_pqa.o cl_LF_ratseries_stream_pqab.o cl_LF_ratseries_stream_pqb.o cl_LF_ratsumseries_pqcd.o cl_LF_ratsumseries_pqcd_aux.o cl_LF_ratsumseries_pqd.o cl_LF_ratsumseries_pqd_aux.o cl_LF_zeta3.o cl_LF_zeta_int.o cl_DF_sqrt.o cl_DF_from_double.o cl_DF_to_doublej.o cl_I_to_double.o cl_RA_to_double.o cl_DF_ceil22.o cl_DF_fceil.o cl_DF_floor22.o cl_DF_recip.o cl_DF_round22.o cl_DF_trunc22.o cl_DF_compare.o cl_DF_div.o cl_DF_ffloor.o cl_DF_from_I.o cl_DF_from_RA.o cl_DF_fround.o cl_DF_ftrunc.o cl_DF_futrunc.o cl_DF_globals.o cl_DF_minus.o cl_DF_minusp.o cl_DF_mul.o cl_DF_plus.o cl_DF_plusp.o cl_DF_scale.o cl_DF_scale_I.o cl_DF_to_I.o cl_DF_uminus.o cl_DF_zerop.o cl_DF_from_string.o cl_DF_abs.o cl_DF_as.o cl_DF_class.o cl_DF_debug.o cl_DF_decode.o cl_DF_digits.o cl_DF_eqhashcode.o cl_DF_exponent.o cl_DF_idecode.o cl_DF_max.o cl_DF_min.o cl_DF_precision.o cl_DF_sign.o cl_DF_signum.o cl_FF_sqrt.o cl_FF_from_float.o cl_FF_to_floatj.o cl_I_to_float.o cl_RA_to_float.o cl_FF_ceil22.o cl_FF_fceil.o cl_FF_floor22.o cl_FF_recip.o cl_FF_round22.o cl_FF_trunc22.o cl_FF_compare.o cl_FF_div.o cl_FF_ffloor.o cl_FF_from_I.o cl_FF_from_RA.o cl_FF_fround.o cl_FF_ftrunc.o cl_FF_futrunc.o cl_FF_globals.o cl_FF_minus.o cl_FF_minusp.o cl_FF_mul.o cl_FF_plus.o cl_FF_plusp.o cl_FF_scale.o cl_FF_scale_I.o cl_FF_to_I.o cl_FF_uminus.o cl_FF_zerop.o cl_FF_from_string.o cl_FF_abs.o cl_FF_as.o cl_FF_class.o cl_FF_debug.o cl_FF_decode.o cl_FF_digits.o cl_FF_eqhashcode.o cl_FF_exponent.o cl_FF_idecode.o cl_FF_max.o cl_FF_min.o cl_FF_precision.o cl_FF_sign.o cl_FF_signum.o cl_LF_sqrt.o cl_LF_ceil22.o cl_LF_fceil.o cl_LF_floor22.o cl_LF_recip.o cl_LF_round22.o cl_LF_trunc22.o cl_I_LF_div.o cl_LF_1minus.o cl_LF_1plus.o cl_LF_2minus.o cl_LF_2plus.o cl_LF_I_div.o cl_LF_I_mul.o cl_LF_RA_div.o cl_LF_RA_mul.o cl_LF_compare.o cl_LF_div.o cl_LF_ffloor.o cl_LF_from_I.o cl_LF_from_RA.o cl_LF_fround.o cl_LF_ftrunc.o cl_LF_futrunc.o cl_LF_globals.o cl_LF_minus1.o cl_LF_minusp.o cl_LF_mul.o cl_LF_plus1.o cl_LF_plusp.o cl_LF_scale.o cl_LF_scale_I.o cl_LF_square.o cl_LF_to_I.o cl_LF_uminus.o cl_LF_zerop.o cl_RA_LF_div.o cl_LF_from_string.o cl_LF_abs.o cl_LF_as.o cl_LF_class.o cl_LF_debug.o cl_LF_decode.o cl_LF_digits.o cl_LF_eqhashcode.o cl_LF_exponent.o cl_LF_extend.o cl_LF_idecode.o cl_LF_leninc.o cl_LF_lenincx.o cl_LF_max.o cl_LF_min.o cl_LF_precision.o cl_LF_shorten.o cl_LF_shortenrel.o cl_LF_shortenwith.o cl_LF_sign.o cl_LF_signum.o cl_LF_to_LF.o cl_SF_sqrt.o cl_SF_ceil22.o cl_SF_fceil.o cl_SF_ffloor.o cl_SF_floor22.o cl_SF_recip.o cl_SF_round22.o cl_SF_trunc22.o cl_SF_compare.o cl_SF_div.o cl_SF_from_I.o cl_SF_from_RA.o cl_SF_fround.o cl_SF_ftrunc.o cl_SF_futrunc.o cl_SF_minus.o cl_SF_minusp.o cl_SF_mul.o cl_SF_plus.o cl_SF_plusp.o cl_SF_scale.o cl_SF_scale_I.o cl_SF_to_I.o cl_SF_uminus.o cl_SF_zerop.o cl_SF_from_string.o cl_SF_abs.o cl_SF_as.o cl_SF_class.o cl_SF_debug.o cl_SF_decode.o cl_SF_digits.o cl_SF_eqhashcode.o cl_SF_exponent.o cl_SF_idecode.o cl_SF_max.o cl_SF_min.o cl_SF_precision.o cl_SF_sign.o cl_SF_signum.o cl_I_2adic_div.o cl_I_2adic_recip.o cl_I_rootp.o cl_I_rootp_I.o cl_I_rootp_aux.o cl_I_sqrt.o cl_I_sqrtp.o cl_I_ash.o cl_I_ash_I.o cl_I_asherr.o cl_I_boole.o cl_I_dpb.o cl_I_dpf.o cl_I_fullbyte.o cl_I_ilength.o cl_I_ldb.o cl_I_ldbtest.o cl_I_ldbx.o cl_I_ldbxtest.o cl_I_log_aux.o cl_I_logand.o cl_I_logandc2.o cl_I_logbitp.o cl_I_logbitp_I.o cl_I_logcount.o cl_I_logeqv.o cl_I_logior.o cl_I_lognand.o cl_I_lognor.o cl_I_lognot.o cl_I_logorc2.o cl_I_logtest.o cl_I_logxor.o cl_I_mkf.o cl_I_mkfx.o cl_I_digits_need.o cl_I_from_DS.o cl_I_from_L.o cl_I_from_L2.o cl_I_from_NDS.o cl_I_from_NUDS.o cl_I_from_Q.o cl_I_from_UDS.o cl_I_from_UL.o cl_I_from_UL2.o cl_I_from_UQ.o cl_I_from_digits.o cl_I_mul10plus.o cl_I_to_L.o cl_I_to_Q.o cl_I_to_UL.o cl_I_to_UQ.o cl_I_to_digits.o cl_I_ceil1.o cl_I_ceil2.o cl_I_exquo.o cl_I_exquoerr.o cl_I_exquopos.o cl_I_floor1.o cl_I_floor2.o cl_I_mod.o cl_I_rem.o cl_I_round1.o cl_I_round2.o cl_I_trunc1.o cl_I_trunc2.o cl_I_compare.o cl_I_div.o cl_I_equal.o cl_I_minus.o cl_I_minus1.o cl_I_minusp.o cl_I_mul.o cl_I_plus.o cl_I_plus1.o cl_I_plusp.o cl_I_square.o cl_I_uminus.o cl_I_zerop.o cl_I_gcd.o cl_I_gcd_aux.o cl_I_gcd_aux2.o cl_I_lcm.o cl_I_xgcd.o cl_low_gcd.o cl_I_hash_gcobject.o cl_I_hash_gcpointer.o cl_I_hash_pointer.o cl_I_hash_rcobject.o cl_I_hash_rcpointer.o cl_I_hashcode.o cl_I_hashweak_rcpointer.o cl_I_from_string.o cl_I_read.o cl_I_read_stream.o cl_I_readparsed.o cl_BN_class.o cl_FN_class.o cl_I_abs.o cl_I_as.o cl_I_debug.o cl_I_eqhashcode.o cl_I_exptpos.o cl_I_exptpos_I.o cl_I_max.o cl_I_min.o cl_I_oddp.o cl_I_ord2.o cl_I_power2p.o cl_I_signum.o cl_I_aprint.o cl_I_bprint.o cl_I_cprint.o cl_I_decstring.o cl_I_dprint.o cl_I_print.o cl_I_print_string.o cl_I_random.o cl_I_trandom.o cl_0_ring.o cl_I_ring.o cl_I_binomial.o cl_I_doublefactorial.o cl_I_factorial.o cl_I_factorial_aux.o cl_MI.o cl_MI_cond_composite.o cl_MI_debug.o cl_MI_err_comp.o cl_MI_lshift.o cl_MI_rshift.o cl_IF_millerrabin.o cl_IF_smallprimes.o cl_IF_trialdiv.o cl_IF_trialdiv1.o cl_IF_trialdiv2.o cl_nt_cornacchia1.o cl_nt_cornacchia4.o cl_nt_isprobprime.o cl_nt_jacobi.o cl_nt_jacobi_low.o cl_nt_nextprobprime.o cl_nt_sqrtmodp.o cl_UP.o cl_UP_named.o cl_UP_no_ring.o cl_UP_unnamed.o cl_UP_I_hermite.o cl_UP_I_laguerre.o cl_UP_I_tchebychev.o cl_UP_RA_legendre.o cl_UP_debug.o cl_UP_deriv.o cl_RA_rootp.o cl_RA_rootp_I.o cl_RA_sqrtp.o cl_RA_ceil1.o cl_RA_ceil12.o cl_RA_ceil2.o cl_RA_ceil22.o cl_RA_floor1.o cl_RA_floor12.o cl_RA_floor2.o cl_RA_floor22.o cl_RA_round1.o cl_RA_round12.o cl_RA_round2.o cl_RA_round22.o cl_RA_trunc1.o cl_RA_trunc12.o cl_RA_trunc2.o cl_RA_trunc22.o cl_RA_compare.o cl_RA_denominator.o cl_RA_div.o cl_RA_equal.o cl_RA_from_I_I_div.o cl_RA_from_I_posI.o cl_RA_from_I_posI1.o cl_RA_from_I_posI_div.o cl_RA_minus.o cl_RA_minus1.o cl_RA_minusp.o cl_RA_mul.o cl_RA_numerator.o cl_RA_plus.o cl_RA_plus1.o cl_RA_plusp.o cl_RA_recip.o cl_RA_square.o cl_RA_uminus.o cl_RA_zerop.o cl_RA_from_string.o cl_RA_read.o cl_RA_read_stream.o cl_RA_readparsed.o cl_RA_abs.o cl_RA_as.o cl_RA_class.o cl_RA_debug.o cl_RA_eqhashcode.o cl_RA_expt.o cl_RA_expt_I.o cl_RA_exptpos.o cl_RA_exptpos_I.o cl_RA_max.o cl_RA_min.o cl_RA_signum.o cl_RA_aprint.o cl_RA_bprint.o cl_RA_cprint.o cl_RA_dprint.o cl_RA_print.o cl_RA_ring.o cl_I_logp.o cl_RA_logp.o cl_RA_sqrt.o cl_R_sqrt.o cl_F_from_R.o cl_F_from_R_def.o cl_F_from_R_f.o cl_R_to_DF.o cl_R_to_FF.o cl_R_to_LF.o cl_R_to_SF.o cl_R_to_double.o cl_R_to_float.o cl_R_ceil1.o cl_R_ceil12.o cl_R_ceil2.o cl_R_ceil22.o cl_R_fceil1.o cl_R_fceil12.o cl_R_fceil2.o cl_R_fceil22.o cl_R_ffloor1.o cl_R_ffloor12.o cl_R_ffloor2.o cl_R_ffloor22.o cl_R_floor1.o cl_R_floor12.o cl_R_floor2.o cl_R_floor22.o cl_R_fround1.o cl_R_fround12.o cl_R_fround2.o cl_R_fround22.o cl_R_ftrunc1.o cl_R_ftrunc12.o cl_R_ftrunc2.o cl_R_ftrunc22.o cl_R_mod.o cl_R_rem.o cl_R_round1.o cl_R_round12.o cl_R_round2.o cl_R_round22.o cl_R_trunc1.o cl_R_trunc12.o cl_R_trunc2.o cl_R_trunc22.o cl_R_compare.o cl_R_div.o cl_R_equal.o cl_R_minus.o cl_R_minus1.o cl_R_minusp.o cl_R_mul.o cl_R_plus.o cl_R_plus1.o cl_R_plusp.o cl_R_recip.o cl_R_square.o cl_R_uminus.o cl_R_zerop.o cl_fmt_cardinal.o cl_fmt_floatstring.o cl_fmt_integer.o cl_fmt_newroman.o cl_fmt_oldroman.o cl_fmt_ordinal.o cl_fmt_paddedstring.o cl_fmt_scaleexp.o cl_fmt_tens.o cl_R_from_string.o cl_R_read.o cl_R_read_stream.o cl_R_abs.o cl_R_as.o cl_R_contagion.o cl_R_debug.o cl_R_eqhashcode.o cl_R_expt.o cl_R_expt_I.o cl_R_max.o cl_R_min.o cl_R_rational.o cl_R_rationalize.o cl_R_signum.o cl_R_aprint.o cl_R_bprint.o cl_R_cprint.o cl_R_random.o cl_R_ring.o cl_R_atan.o cl_R_atan2.o cl_R_cos.o cl_R_cosh.o cl_R_coshsinh.o cl_R_cossin.o cl_R_exp.o cl_R_ln.o cl_R_log.o cl_R_sin.o cl_R_sinh.o cl_R_tan.o cl_R_tanh.o cl_t_c1.o cl_t_c2.o cl_t_current.o cl_t_current2.o cl_t_d.o cl_t_dec.o cl_t_inc.o cl_t_minus.o cl_t_report.o cl_t_td_minus.o cl_t_td_plus.o cl_GV_I.o cl_GV_I_copy.o cl_GV_I_debug.o cl_GV_number.o cl_GV_number_copy.o cl_GV_number_debug.o cl_SV_copy.o cl_SV_number.o cl_SV_number_debug.o cl_SV_ringelt.o cl_SV_ringelt_debug.o cl_GV_number_aprint.o cl_SV_aprint.o cl_SV_number_aprint.o ranlib .libs/libcln.a creating libcln.la (cd .libs && rm -f libcln.la && ln -s ../libcln.la libcln.la) cd tests; make all /bin/sh ../libtool --mode=link g++ -g -O2 exam.o exam_I.o exam_RA.o exam_SF.o exam_FF.o exam_DF.o exam_LF.o exam_I_gcd.o exam_I_sqrtp.o ../src/libcln.la -lm -o exam g++ -g -O2 exam.o exam_I.o exam_RA.o exam_SF.o exam_FF.o exam_DF.o exam_LF.o exam_I_gcd.o exam_I_sqrtp.o -o .libs/exam -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating exam /bin/sh ../libtool --mode=link g++ -g -O2 tests.o test_I.o test_I_abs.o test_I_compare.o test_I_plus.o test_I_minus.o test_I_plus1.o test_I_minus1.o test_I_mul.o test_I_div.o test_I_gcd.o test_I_xgcd.o test_I_ash.o test_I_evenp.o test_I_oddp.o test_I_lognot.o test_I_logand.o test_I_logandc1.o test_I_logandc2.o test_I_logior.o test_I_logorc1.o test_I_logorc2.o test_I_logxor.o test_I_lognand.o test_I_lognor.o test_I_logeqv.o test_I_boole.o test_I_logbitp.o test_I_logtest.o test_I_ldb.o test_I_ldbtest.o test_I_mkf.o test_I_dpb.o test_I_dpf.o test_I_logcount.o test_I_ilength.o test_I_ord2.o test_I_power2p.o test_I_isqrt.o test_I_sqrtp.o test_I_GV.o test_MI.o test_MI_canonhom.o test_MI_plus.o test_MI_minus.o test_MI_mul.o test_MI_recip.o test_MI_div.o test_MI_expt.o test_nt.o test_nt_jacobi.o ../src/libcln.la -lm -o tests g++ -g -O2 tests.o test_I.o test_I_abs.o test_I_compare.o test_I_plus.o test_I_minus.o test_I_plus1.o test_I_minus1.o test_I_mul.o test_I_div.o test_I_gcd.o test_I_xgcd.o test_I_ash.o test_I_evenp.o test_I_oddp.o test_I_lognot.o test_I_logand.o test_I_logandc1.o test_I_logandc2.o test_I_logior.o test_I_logorc1.o test_I_logorc2.o test_I_logxor.o test_I_lognand.o test_I_lognor.o test_I_logeqv.o test_I_boole.o test_I_logbitp.o test_I_logtest.o test_I_ldb.o test_I_ldbtest.o test_I_mkf.o test_I_dpb.o test_I_dpf.o test_I_logcount.o test_I_ilength.o test_I_ord2.o test_I_power2p.o test_I_isqrt.o test_I_sqrtp.o test_I_GV.o test_MI.o test_MI_canonhom.o test_MI_plus.o test_MI_minus.o test_MI_mul.o test_MI_recip.o test_MI_div.o test_MI_expt.o test_nt.o test_nt_jacobi.o -o .libs/tests -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating tests cd benchmarks; make all /bin/sh ../libtool --mode=link g++ -g -O2 timebench2a.o ../src/libcln.la -lm -o timebench2a g++ -g -O2 timebench2a.o -o .libs/timebench2a -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating timebench2a /bin/sh ../libtool --mode=link g++ -g -O2 timebench2ap.o ../src/libcln.la -lm -o timebench2ap g++ -g -O2 timebench2ap.o -o .libs/timebench2ap -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating timebench2ap /bin/sh ../libtool --mode=link g++ -g -O2 timebench2b.o ../src/libcln.la -lm -o timebench2b g++ -g -O2 timebench2b.o -o .libs/timebench2b -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating timebench2b cd examples; make all /bin/sh ../libtool --mode=link g++ -g -O2 contfrac.o ../src/libcln.la -lm -o contfrac g++ -g -O2 contfrac.o -o .libs/contfrac -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating contfrac /bin/sh ../libtool --mode=link g++ -g -O2 e.o ../src/libcln.la -lm -o e g++ -g -O2 e.o -o .libs/e -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating e /bin/sh ../libtool --mode=link g++ -g -O2 fibonacci.o ../src/libcln.la -lm -o fibonacci g++ -g -O2 fibonacci.o -o .libs/fibonacci -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating fibonacci /bin/sh ../libtool --mode=link g++ -g -O2 legendre.o ../src/libcln.la -lm -o legendre g++ -g -O2 legendre.o -o .libs/legendre -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating legendre /bin/sh ../libtool --mode=link g++ -g -O2 lucaslehmer.o ../src/libcln.la -lm -o lucaslehmer g++ -g -O2 lucaslehmer.o -o .libs/lucaslehmer -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating lucaslehmer /bin/sh ../libtool --mode=link g++ -g -O2 nextprime.o ../src/libcln.la -lm -o nextprime g++ -g -O2 nextprime.o -o .libs/nextprime -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating nextprime /bin/sh ../libtool --mode=link g++ -g -O2 perfnum.o ../src/libcln.la -lm -o perfnum g++ -g -O2 perfnum.o -o .libs/perfnum -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating perfnum /bin/sh ../libtool --mode=link g++ -g -O2 pi.o ../src/libcln.la -lm -o pi g++ -g -O2 pi.o -o .libs/pi -Wl,-bind_at_load ../src/.libs/libcln.dylib /usr/local/lib/libgmp.dylib -lm creating pi cd doc; make all make[1]: Nothing to be done for `all'. [ron@Zag:~/devel/cln-1.1.9]$ make check cd src; make check make SUBDIR=base make SUBDIR=base/digit make[3]: Nothing to be done for `all'. make SUBDIR=base/digitseq make[3]: Nothing to be done for `all'. make SUBDIR=base/hash make[3]: Nothing to be done for `all'. make SUBDIR=base/input make[3]: Nothing to be done for `all'. make SUBDIR=base/low make[3]: Nothing to be done for `all'. make SUBDIR=base/output make[3]: Nothing to be done for `all'. make SUBDIR=base/proplist make[3]: Nothing to be done for `all'. make SUBDIR=base/random make[3]: Nothing to be done for `all'. make SUBDIR=base/ring make[3]: Nothing to be done for `all'. make SUBDIR=base/string make SUBDIR=base/string/input make[4]: Nothing to be done for `all'. make SUBDIR=base/string/misc make[4]: Nothing to be done for `all'. make SUBDIR=base/string/output make[4]: Nothing to be done for `all'. make SUBDIR=base/symbol make[3]: Nothing to be done for `all'. make SUBDIR=complex make SUBDIR=complex/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=complex/elem make SUBDIR=complex/elem/division make[4]: Nothing to be done for `all'. make SUBDIR=complex/input make[3]: Nothing to be done for `all'. make SUBDIR=complex/misc make[3]: Nothing to be done for `all'. make SUBDIR=complex/output make[3]: Nothing to be done for `all'. make SUBDIR=complex/ring make[3]: Nothing to be done for `all'. make SUBDIR=complex/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=float make SUBDIR=float/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=float/base make[3]: Nothing to be done for `all'. make SUBDIR=float/conv make[3]: Nothing to be done for `all'. make SUBDIR=float/dfloat make SUBDIR=float/dfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/conv make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/dfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/division make[3]: Nothing to be done for `all'. make SUBDIR=float/elem make[3]: Nothing to be done for `all'. make SUBDIR=float/ffloat make SUBDIR=float/ffloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/conv make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/ffloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/input make[3]: Nothing to be done for `all'. make SUBDIR=float/lfloat make SUBDIR=float/lfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/lfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/misc make[3]: Nothing to be done for `all'. make SUBDIR=float/output make[3]: Nothing to be done for `all'. make SUBDIR=float/random make[3]: Nothing to be done for `all'. make SUBDIR=float/sfloat make SUBDIR=float/sfloat/algebraic make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/division make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/elem make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/input make[4]: Nothing to be done for `all'. make SUBDIR=float/sfloat/misc make[4]: Nothing to be done for `all'. make SUBDIR=float/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=integer make SUBDIR=integer/2adic make[3]: Nothing to be done for `all'. make SUBDIR=integer/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=integer/bitwise make[3]: Nothing to be done for `all'. make SUBDIR=integer/conv make[3]: Nothing to be done for `all'. make SUBDIR=integer/division make[3]: Nothing to be done for `all'. make SUBDIR=integer/elem make[3]: Nothing to be done for `all'. make SUBDIR=integer/gcd make[3]: Nothing to be done for `all'. make SUBDIR=integer/hash make[3]: Nothing to be done for `all'. make SUBDIR=integer/input make[3]: Nothing to be done for `all'. make SUBDIR=integer/misc make SUBDIR=integer/misc/combin make[4]: Nothing to be done for `all'. make SUBDIR=integer/output make[3]: Nothing to be done for `all'. make SUBDIR=integer/random make[3]: Nothing to be done for `all'. make SUBDIR=integer/ring make[3]: Nothing to be done for `all'. make SUBDIR=modinteger make[2]: Nothing to be done for `all'. make SUBDIR=modpolynomial make[2]: Nothing to be done for `all'. make SUBDIR=numtheory make[2]: Nothing to be done for `all'. make SUBDIR=polynomial make SUBDIR=polynomial/elem make[3]: Nothing to be done for `all'. make SUBDIR=polynomial/misc make[3]: Nothing to be done for `all'. make SUBDIR=rational make SUBDIR=rational/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=rational/division make[3]: Nothing to be done for `all'. make SUBDIR=rational/elem make[3]: Nothing to be done for `all'. make SUBDIR=rational/input make[3]: Nothing to be done for `all'. make SUBDIR=rational/misc make[3]: Nothing to be done for `all'. make SUBDIR=rational/output make[3]: Nothing to be done for `all'. make SUBDIR=rational/ring make[3]: Nothing to be done for `all'. make SUBDIR=rational/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=real make SUBDIR=real/algebraic make[3]: Nothing to be done for `all'. make SUBDIR=real/conv make[3]: Nothing to be done for `all'. make SUBDIR=real/division make[3]: Nothing to be done for `all'. make SUBDIR=real/elem make[3]: Nothing to be done for `all'. make SUBDIR=real/format-output make[3]: Nothing to be done for `all'. make SUBDIR=real/input make[3]: Nothing to be done for `all'. make SUBDIR=real/misc make[3]: Nothing to be done for `all'. make SUBDIR=real/output make[3]: Nothing to be done for `all'. make SUBDIR=real/random make[3]: Nothing to be done for `all'. make SUBDIR=real/ring make[3]: Nothing to be done for `all'. make SUBDIR=real/transcendental make[3]: Nothing to be done for `all'. make SUBDIR=timing make[2]: Nothing to be done for `all'. make SUBDIR=vector make SUBDIR=vector/output make[3]: Nothing to be done for `all'. cd tests; make check ./exam dyld: /Users/ron/devel/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc make[1]: *** [check] Trace/BPT trap make: *** [check] Error 2 [ron@Zag:~/devel/cln-1.1.9]$
* Andrej Ricnik-Bay wrote on Fri, Mar 11, 2005 at 04:08:10AM CET:
strace -o exam.out exam
No. Just a plain cd tests gdb exam run [watch it crash] bt Hmmm ... won't work.
gdb exam *snip*
closer look: exam is a shell wrapper, and I don't understand the inner workings.
Use ../libtool -mode=execute ./exam Regards, Ralf
Sorry for self-reply. * Ralf Wildenhues wrote on Fri, Mar 11, 2005 at 09:53:24AM CET:
* Andrej Ricnik-Bay wrote on Fri, Mar 11, 2005 at 04:08:10AM CET:
gdb exam
Hmmm ... won't work.
closer look: exam is a shell wrapper, and I don't understand the inner workings.
Use ../libtool -mode=execute ./exam
../libtool -mode=execute gdb ./exam
On Fri, 11 Mar 2005, Andrej Ricnik-Bay wrote:
strace -o exam.out exam
No. Just a plain cd tests gdb exam run [watch it crash] bt Hmmm ... won't work.
gdb exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"..."/home/andrej/source/cln_1.1.9/tests/exam": not in executable format: File format not recognized
No symbol table is loaded. Use the "file" command. (gdb) run Starting program: No executable file specified. Use the "file" or "exec-file" command. (gdb) quit
closer look: exam is a shell wrapper, and I don't understand the inner workings.
In essence, the shell wrapper ensures that the library is found during execution by setting LD_LIBRARY_PATH. You might try doing this by hand. Alternatively, I recommend you reconfigure CLN as a static library only by passing the --disable-shared flag to configure. That will make exam directly executable without libtool's shell wrapper. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
Richy, Ralph, Thanks for the patience and support :) When I disable shared-libs the tests work well. And with shared-libs on again Ralphs suggestion gives the following result: [andrej@diggn:~/source/cln_1.1.9/tests]$ ../libtool --mode=execute gdb ./exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1". Function "cl_abort" not defined. (gdb) run Starting program: /home/andrej/source/cln_1.1.9/tests/.libs/lt-exam Program received signal SIGSEGV, Segmentation fault. 0x40051b6e in cl_inc_pointer_refcount (pointer=0x0) at object.h:205 205 pointer->refcount++; Current language: auto; currently c++ (gdb) Cheers, Tink
On Mon, 14 Mar 2005, Andrej Ricnik-Bay wrote:
When I disable shared-libs the tests work well.
Aha!
And with shared-libs on again Ralphs suggestion gives the following result:
[andrej@diggn:~/source/cln_1.1.9/tests]$ ../libtool --mode=execute gdb ./exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1".
Function "cl_abort" not defined. (gdb) run Starting program: /home/andrej/source/cln_1.1.9/tests/.libs/lt-exam
Program received signal SIGSEGV, Segmentation fault. 0x40051b6e in cl_inc_pointer_refcount (pointer=0x0) at object.h:205 205 pointer->refcount++; Current language: auto; currently c++ (gdb)
I don't think that I can help in this case. But, could you please produce a stack backtrace at this point, using gdb's bt command? Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
On Sun, 13 Mar 2005 21:10:13 +0100 (CET), Richard B. Kreckel <kreckel@ginac.de> wrote:
When I disable shared-libs the tests work well. Aha! Aufgemerkt! That's what I thought! :)
I don't think that I can help in this case. I suppose that means that there's something wrong with Slack's "/lib/libthread_db.so.1", or its interaction with libc.so.6 ...
But, could you please produce a stack backtrace at this point, using gdb's bt command? Sure, and thanks again!
[andrej@diggn:~/source/cln_1.1.9/tests]$ ../libtool --mode=execute gdb ./exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1". Function "cl_abort" not defined. (gdb) bt No stack. (gdb)
Regards -richy.
On Mon, 14 Mar 2005, Andrej Ricnik-Bay wrote:
[andrej@diggn:~/source/cln_1.1.9/tests]$ ../libtool --mode=execute gdb ./exam GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1".
Function "cl_abort" not defined. (gdb) bt No stack. (gdb)
First, say 'run'. Let it crash. Then, say 'bt'. -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
First, say 'run'. Let it crash. Then, say 'bt'. Ouch :) ... I feel thoroughly stupid now ;0 (gdb) bt #0 0x40051b6e in cl_inc_pointer_refcount (pointer=0x0) at object.h:205 #1 0x40057917 in cln::cl_gcobject::inc_pointer_refcount (this=0x4017d36c) at object.h:317 #2 0x400578ca in cln::cl_gcobject::_as_cl_private_thing (this=0x4017d36c) at object.h:501 #3 0x40057833 in as_cl_private_thing (x=@0x4017d36c) at object.h:506 #4 0x400589a3 in cl_FF (this=0x4017dad0, x=@0x4017d36c) at ffloat_class.h:72 #5 0x400cae5b in cln::cl_I_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_I.cc:34 #6 0x400cb0fb in cln::cl_RA_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_RA.cc:36 #7 0x4012f397 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at real/format-output/cl_fmt_scaleexp.cc:46 #8 0x4012fa28 in global constructors keyed to _ZN3cln21format_scale_exponentERKNS_4cl_FE () at real/format-output/cl_fmt_scaleexp.cc:331 #9 0x4013acb5 in __do_global_ctors_aux () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #10 0x40042629 in _init () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #11 0x4000aaae in call_init () from /lib/ld-linux.so.2 #12 0x4000a906 in _dl_init_internal () from /lib/ld-linux.so.2 #13 0x400007d5 in _dl_start_user () from /lib/ld-linux.so.2
On Tue, 15 Mar 2005, Andrej Ricnik-Bay wrote:
First, say 'run'. Let it crash. Then, say 'bt'. Ouch :) ... I feel thoroughly stupid now ;0 (gdb) bt #0 0x40051b6e in cl_inc_pointer_refcount (pointer=0x0) at object.h:205 #1 0x40057917 in cln::cl_gcobject::inc_pointer_refcount (this=0x4017d36c) at object.h:317 #2 0x400578ca in cln::cl_gcobject::_as_cl_private_thing (this=0x4017d36c) at object.h:501 #3 0x40057833 in as_cl_private_thing (x=@0x4017d36c) at object.h:506 #4 0x400589a3 in cl_FF (this=0x4017dad0, x=@0x4017d36c) at ffloat_class.h:72 #5 0x400cae5b in cln::cl_I_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_I.cc:34 #6 0x400cb0fb in cln::cl_RA_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_RA.cc:36 #7 0x4012f397 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at real/format-output/cl_fmt_scaleexp.cc:46 #8 0x4012fa28 in global constructors keyed to _ZN3cln21format_scale_exponentERKNS_4cl_FE () at real/format-output/cl_fmt_scaleexp.cc:331 #9 0x4013acb5 in __do_global_ctors_aux () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #10 0x40042629 in _init () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #11 0x4000aaae in call_init () from /lib/ld-linux.so.2 #12 0x4000a906 in _dl_init_internal () from /lib/ld-linux.so.2 #13 0x400007d5 in _dl_start_user () from /lib/ld-linux.so.2
Hmm? I wonder whether cl_fmt_scaleexp were initialized before the cl_FF_globals? Just to make double sure, please send me the files cln/include/intparam.h and cln/include/floatparam.h. Also, you compiled with -g -O2, right? Please check whether those are indeed the compiler flags when you compiled the library! If you feel like experimenting a bit: If I were you, I would now build my own compiler. All you need is a few 100MB disk space, configure using similar arguments as the system-compiler (but --enable-languages=c,c++ only), make bootstrap, make install. Then adjust your PATH and LD_LIBRARY_PATH and try that compiler. If the problem vanishes, then Slackware shipped a buggy compiler. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
On Tue, 15 Mar 2005, Richard B. Kreckel wrote:
On Tue, 15 Mar 2005, Andrej Ricnik-Bay wrote:
First, say 'run'. Let it crash. Then, say 'bt'. Ouch :) ... I feel thoroughly stupid now ;0 (gdb) bt #0 0x40051b6e in cl_inc_pointer_refcount (pointer=0x0) at object.h:205 #1 0x40057917 in cln::cl_gcobject::inc_pointer_refcount (this=0x4017d36c) at object.h:317 #2 0x400578ca in cln::cl_gcobject::_as_cl_private_thing (this=0x4017d36c) at object.h:501 #3 0x40057833 in as_cl_private_thing (x=@0x4017d36c) at object.h:506 #4 0x400589a3 in cl_FF (this=0x4017dad0, x=@0x4017d36c) at ffloat_class.h:72 #5 0x400cae5b in cln::cl_I_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_I.cc:34 #6 0x400cb0fb in cln::cl_RA_to_FF (x=@0xbffff3ac) at float/ffloat/elem/cl_FF_from_RA.cc:36 #7 0x4012f397 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at real/format-output/cl_fmt_scaleexp.cc:46 #8 0x4012fa28 in global constructors keyed to _ZN3cln21format_scale_exponentERKNS_4cl_FE () at real/format-output/cl_fmt_scaleexp.cc:331 #9 0x4013acb5 in __do_global_ctors_aux () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #10 0x40042629 in _init () from /home/andrej/source/cln_1.1.9/src/.libs/libcln.so.3 #11 0x4000aaae in call_init () from /lib/ld-linux.so.2 #12 0x4000a906 in _dl_init_internal () from /lib/ld-linux.so.2 #13 0x400007d5 in _dl_start_user () from /lib/ld-linux.so.2
Hmm? I wonder whether cl_fmt_scaleexp were initialized before the cl_FF_globals? Just to make double sure, please send me the files cln/include/intparam.h and cln/include/floatparam.h. Also, you compiled with -g -O2, right? Please check whether those are indeed the compiler flags when you compiled the library!
Andrej: I've been discussing exactly the same problem with Ralf Wildenhues in private and it turned out that it comes from turning optimization off. Indeed, on March 9 you wrote:
Sorry, yes, it's x86, compiled with P4 optimizations (env has CXXFLAGS and CFLAGS=-march=pentium4 -msse2)
There's no -O flag. I completely missed that error back then. We've now added a warning to the configuration script for such cases. I assume this issue is finally resolved now. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
participants (4)
-
Andrej Ricnik-Bay
-
Ralf Wildenhues
-
Richard B. Kreckel
-
Ron Garret