A more robust solution is to create a little wrapper script for gcc which sets LD_LIBRARY_PATH to the system library path (the original LD_LIBRARY_PATH before the Sage environment was set). This is actually the accredited technique for complex situations (such as the one we have).
http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html Bill. 2009/11/15 Bill Hart <[email protected]>: > Although it doesn't fix the cython issue, one solution for Pari would > be to statically link against MPIR. However it isn't a proper fix > because there is every chance that a similar bug could be hit building > any of the Sage spkg's. Statically linking MPIR against all of them > would bloat the binary size, I believe. > > Bill. > > 2009/11/15 Bill Hart <[email protected]>: >> I'm probably missing something important here, but why set >> LD_LIBRARY_PATH to the sage environment for either Configure or make, >> when building Pari? >> >> The correct way to tell Pari which readline and gmp to link against is >> --with-gmp=.... and --with-readline=..... >> >> LD_LIBRARY_PATH should only be changed at runtime. >> >> Of course make check probably both compiles the test suite and >> executes it, which requires LD_LIBRARY_PATH set two different ways at >> the same time. >> >> There is also a potential issue with Cython (I didn't check how Cython >> calls the compiler). It wants to run the C compiler at Sage runtime. >> That's also potentially messed up if someone writes some cython code >> which does constant folding. >> >> Really and truly, the gcc should not be dynamically linked against >> gmp, but statically linked. Under normal circumstances it is not a >> problem because the user simply adds the Sage local libs directory to >> LD_LIBRARY_PATH, leaving the system library path in there. Here we >> don't want to do that because we are providing our own version of >> "GMP". >> >> Basically there is no right way of dealing with an issue like this. If >> you fork a library that gcc uses then dynamically link gcc against >> that library, it's broken. >> >> Bill. >> >> 2009/11/15 Jason Moxham <[email protected]>: >>> >>> On Sunday 15 November 2009 02:24:47 William Stein wrote: >>>> On Sat, Nov 14, 2009 at 6:17 PM, Jason Moxham <[email protected]> >>> wrote: >>>> > Of course , that is the error >>>> > LD_LIBRARY_PATH sets the path for executables so there is no need for it >>>> > to be set when building pari (just when running it) so the only thing >>>> > that is USING libgmp is gcc which doesn't like it . >>>> >>>> This means that a temporary workaround is that in the spkg-install >>>> script for PARI we put: >>>> >>>> echo "Building and install PARI" >>>> TMP=LD_LIBRARY_PATH; unset LD_LIBRARY_PATH >>>> if [ "$UNAME" = "CYGWIN" ]; then >>>> # There are weird bugs in PARI's build process on Windows XP >>>> # under Cygwin. >>>> # Passing in this extra flag gets around the bug. >>>> $MAKE GMPINCLUDE=-I$SAGE_LOCAL/include EXTRADLLDFLAGS=-lgmp gp >>>> else >>>> $MAKE gp >>>> fi >>>> LD_LIBRARY_PATH=$TMP >>>> >>>> >>> >>> I think pari wont use readline if we do this , but I dont think sage uses >>> pari >>> like that ? so it should be OK >>> >>>> Of course, I'm curious why a FAT mpir crashes GCC... >>> >>> Yeah , weird , just seems to be debian 4.3.2 that does it , NOTE: gcc-4.3.2 >>> also buggers up some other packages eg gmp-4.3.x , so it may not be worth >>> the >>> effort trying to fix it. >>> >>> >>>> I can't work on this now, unfortunately, since the latency of my net >>>> connection at this hotel is horrendous. >>>> >>>> William >>>> >>>> > On Sunday 15 November 2009 02:06:25 Jason Moxham wrote: >>>> >> this is with mpir-1.2 ,and I think we have only start to remove them in >>>> >> 1.3 >>>> >> >>>> >> I mean pari builds fine with our fat enabled mpir , but only if >>>> >> LD_LIBRARY_PATH does NOT point to our libmpir >>>> >> >>>> >> LD_LIBRARY_PATH is not used until linking time ? so it should have no >>>> >> effect on the compile . >>>> >> If gcc is using our libmpir internally , which it should not , then gcc >>>> >> may require libgmp to built with certain options , some sort of specific >>>> >> malloc etc >>>> >> >>>> >> On Sunday 15 November 2009 01:50:52 Bill Hart wrote: >>>> >> > Heh! I don't suppose gcc would be using old deprecated functions which >>>> >> > we've removed. :-) >>>> >> > >>>> >> > Bill. >>>> >> > >>>> >> > 2009/11/15 Bill Hart <[email protected]>: >>>> >> > > That seems like a likely possibility, in which case one presumes >>>> >> > > there is a symbol which GMP provides and we don't, or at least our >>>> >> > > interface is different. >>>> >> > > >>>> >> > > I think gcc only uses GMP for constant folding though, and the line >>>> >> > > in question didn't involve any constants did it? >>>> >> > > >>>> >> > > I wonder how one even debugs something like this. I suppose you >>>> >> > > could valgrind gcc while compiling that one file? >>>> >> > > >>>> >> > > Bill. >>>> >> > > >>>> >> > > 2009/11/15 Jason Moxham <[email protected]>: >>>> >> > >> export >>>> >> > >> LD_LIBRARY_PATH=/tmp/jason/sage-4.2.1/local/lib/R/lib:/tmp/jason/sa >>>> >> > >>ge- 4. 2.1/local/lib/openmpi:/tmp/jason/sage-4.2.1/local/lib/: >>>> >> > >> >>>> >> > >> like the sage shell does and then we get the same error >>>> >> > >> >>>> >> > >> So I deleted all files in .../local/lib/ except libgmp* >>>> >> > >> and exported >>>> >> > >> LD_LIBRARY_PATH=/tmp/jason/sage-4.2.1/local/lib/: >>>> >> > >> >>>> >> > >> and we get the error >>>> >> > >> whereas without the export pari builds fine >>>> >> > >> >>>> >> > >> Could the gcc on debian32 be using the gmp in our local path to do >>>> >> > >> its internal optimizations , whereas gcc should use the system gmp >>>> >> > >> >>>> >> > >> On Sunday 15 November 2009 00:24:25 Jason Moxham wrote: >>>> >> > >>> It appears to be the actual environment that sage provides in its >>>> >> > >>> "sage subshell" >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> ie >>>> >> > >>> >>>> >> > >>> Building pari in the sage shell >>>> >> > >>> >>>> >> > >>> sage subshell$ ./Configure --graphic=none >>>> >> > >>> --prefix=/tmp/jason/sage-4.2.1/local >>>> >> > >>> --with-readline=/tmp/jason/sage-4.2.1/local --with- >>>> >> > >>> gmp=/tmp/jason/sage-4.2.1/local --kernel=gmp --graphic=none && >>>> >> > >>> make gp Configuring pari-2.3.3 (STABLE) >>>> >> > >>> Checking echo to see how to suppress newlines... >>>> >> > >>> ...using -n. >>>> >> > >>> Looking for some tools first ... >>>> >> > >>> ...ld is /usr/bin/ld >>>> >> > >>> ...zcat is /bin/zcat >>>> >> > >>> ...gzip is /bin/gzip >>>> >> > >>> ...ranlib is /usr/bin/ranlib >>>> >> > >>> ...perl is /usr/bin/perl >>>> >> > >>> ...emacs is /usr/bin/emacs >>>> >> > >>> GNU compiler version 4.3.2 (Debian 4.3.2-1.1) >>>> >> > >>> Given the previous choices, sizeof(long) is 4 chars. >>>> >> > >>> The internal word representation of a double is l[1], l[0]. >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Building for architecture: i686 running linux (ix86/GMP >>>> >> > >>> kernel) 32-bit version >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === C compiler is gcc -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer Executable linker is >>>> >> > >>> ld --export-dynamic Dynamic Lib linker is gcc -shared >>>> >> > >>> $(CFLAGS) $(DLCFLAGS) -Wl,-shared,- soname=$(LIBPARI_SONAME) >>>> >> > >>> Looking in C lib for some symbols... >>>> >> > >>> ...I did not find exp2. >>>> >> > >>> ...I did not find log2. >>>> >> > >>> ...Found strftime. >>>> >> > >>> ...Found getrusage. >>>> >> > >>> ...Found sigaction. >>>> >> > >>> ...Found TIOCGWINSZ. >>>> >> > >>> ...Found getrlimit. >>>> >> > >>> ...Found stat. >>>> >> > >>> ...Found vsnprintf. >>>> >> > >>> ...I did not find dlopen. >>>> >> > >>> Try again, with -ldl this time... >>>> >> > >>> ...Found dlopen. >>>> >> > >>> Checking for optional libraries and headers... >>>> >> > >>> ...Found libgmp in /tmp/jason/sage-4.2.1/local/lib >>>> >> > >>> ...Found gmp header in /tmp/jason/sage-4.2.1/local/include >>>> >> > >>> Using GNU MP, version 4.2.1 >>>> >> > >>> ### >>>> >> > >>> ### libX11.so not found. Please install X11 development files. >>>> >> > >>> ### They usually come in XFree86-devel (RPM) or xlibs-dev (Debian) >>>> >> > >>> packages ### >>>> >> > >>> ### X11 not found >>>> >> > >>> ### FLTK not found. Building without FLTK support >>>> >> > >>> Hi-Res Graphics: none >>>> >> > >>> ...Found libreadline in /tmp/jason/sage-4.2.1/local/lib >>>> >> > >>> ...Found readline header in >>>> >> > >>> /tmp/jason/sage-4.2.1/local/include/readline ...Found history >>>> >> > >>> header in /tmp/jason/sage-4.2.1/local/include/readline ### >>>> >> > >>> ### libncurses.so not found. Please install ncurses development >>>> >> > >>> files. ### They usually come in ncurses-devel (RPM) or >>>> >> > >>> libncurses-dev (Debian) packages >>>> >> > >>> ### >>>> >> > >>> ...Found libtermcap in /tmp/jason/sage-4.2.1/local/lib/ >>>> >> > >>> ...Library termcap needed by readline >>>> >> > >>> Using GNU readline, version 6.0 >>>> >> > >>> Installation prefix ? [/tmp/jason/sage-4.2.1/local] >>>> >> > >>> ...for architecture-independent files (share-prefix) ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share] >>>> >> > >>> Installation directories for: >>>> >> > >>> ...executables (gp, gphelp) ? [/tmp/jason/sage-4.2.1/local/bin] >>>> >> > >>> ...libraries (libpari) ? [/tmp/jason/sage-4.2.1/local/lib] >>>> >> > >>> ...include files ? [/tmp/jason/sage-4.2.1/local/include] >>>> >> > >>> ...manual pages ? [/tmp/jason/sage-4.2.1/local/share/man/man1] >>>> >> > >>> ...emacs macros ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share/emacs/site-lisp/pari] ...other >>>> >> > >>> system-dependant data ? [/tmp/jason/sage-4.2.1/local/lib/pari] >>>> >> > >>> ...other system-independant data ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share/pari] Default is dynamic >>>> >> > >>> executable and shared library >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Extracting examples/Makefile.linux-i686 >>>> >> > >>> Extracting Olinux-i686/Makefile >>>> >> > >>> Extracting Olinux-i686/../Odos/paricfg.h >>>> >> > >>> ./config/paricfgDOS.h.SH: line 3: Olinux-i686/../Odos/paricfg.h: >>>> >> > >>> No such file or directory >>>> >> > >>> Extracting Olinux-i686/paricfg.h >>>> >> > >>> Extracting Makefile >>>> >> > >>> Extracting scripts and macros >>>> >> > >>> ...in doc >>>> >> > >>> ...in emacs >>>> >> > >>> ...in misc >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Shall we try to build pari 2.3.3 (released) now (y/n)? >>>> >> > >>> [n] Ok. Type "make install" when you are ready >>>> >> > >>> Bye ! >>>> >> > >>> Making gp in Olinux-i686 >>>> >> > >>> make[1]: Entering directory >>>> >> > >>> `/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3.p5/src/Olinux-i686' >>>> >> > >>> File ../src/funclist not changed. >>>> >> > >>> gcc -c -O1 -Wall -fno-strict-aliasing -fomit-frame-pointer -I. >>>> >> > >>> - I../src/headers -I../src/language >>>> >> > >>> -I/tmp/jason/sage-4.2.1/local/include -o gp.o ../src/gp/gp.c >>>> >> > >>> gcc -c -O1 -Wall -fno-strict-aliasing -fomit-frame-pointer -I. >>>> >> > >>> - I../src/headers -I../src/language >>>> >> > >>> -I/tmp/jason/sage-4.2.1/local/include -o gp_rl.o ../src/gp/gp_rl.c >>>> >> > >>> gcc -c -O1 -Wall -fno-strict-aliasing -fomit-frame-pointer -I. >>>> >> > >>> - I../src/headers -I../src/graph -o plotport.o >>>> >> > >>> ../src/graph/plotport.c ../src/graph/plotport.c: In function >>>> >> > >>> ârectticksâ: >>>> >> > >>> ../src/graph/plotport.c:469: internal compiler error: Segmentation >>>> >> > >>> fault Please submit a full bug report, >>>> >> > >>> with preprocessed source if appropriate. >>>> >> > >>> See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions. >>>> >> > >>> make[1]: *** [plotport.o] Error 1 >>>> >> > >>> make[1]: Leaving directory >>>> >> > >>> `/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3.p5/src/Olinux-i686' >>>> >> > >>> make: *** [gp] Error 2 >>>> >> > >>> /tmp/jason/sage-4.2.1 >>>> >> > >>> sage subshell$ >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> And build it in a normal shell >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> jasonmox...@debian5-32:/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3 >>>> >> > >>>.p5 /s rc$ ./Configure --graphic=none >>>> >> > >>> --prefix=/tmp/jason/sage-4.2.1/local --with- >>>> >> > >>> readline=/tmp/jason/sage-4.2.1/local >>>> >> > >>> --with-gmp=/tmp/jason/sage-4.2.1/local -- kernel=gmp >>>> >> > >>> --graphic=none && make gp >>>> >> > >>> Configuring pari-2.3.3 (STABLE) >>>> >> > >>> Checking echo to see how to suppress newlines... >>>> >> > >>> ...using -n. >>>> >> > >>> Looking for some tools first ... >>>> >> > >>> ...ld is /usr/bin/ld >>>> >> > >>> ...zcat is /bin/zcat >>>> >> > >>> ...gzip is /bin/gzip >>>> >> > >>> ...ranlib is /usr/bin/ranlib >>>> >> > >>> ...perl is /usr/bin/perl >>>> >> > >>> ...emacs is /usr/bin/emacs >>>> >> > >>> Looking for the compilers ... >>>> >> > >>> ...cc is /usr/bin/cc >>>> >> > >>> ...gcc is /usr/bin/gcc >>>> >> > >>> GNU compiler version 4.3.2 (Debian 4.3.2-1.1) >>>> >> > >>> Given the previous choices, sizeof(long) is 4 chars. >>>> >> > >>> The internal word representation of a double is l[1], l[0]. >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Building for architecture: i686 running linux (ix86/GMP >>>> >> > >>> kernel) 32-bit version >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === C compiler is /usr/bin/gcc -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit- frame-pointer >>>> >> > >>> Executable linker is /usr/bin/gcc -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit- frame-pointer -Wl,--export-dynamic >>>> >> > >>> Dynamic Lib linker is /usr/bin/gcc -shared $(CFLAGS) >>>> >> > >>> $(DLCFLAGS) -Wl,- shared,-soname=$(LIBPARI_SONAME) >>>> >> > >>> Looking in C lib for some symbols... >>>> >> > >>> ...I did not find exp2. >>>> >> > >>> ...I did not find log2. >>>> >> > >>> ...Found strftime. >>>> >> > >>> ...Found getrusage. >>>> >> > >>> ...Found sigaction. >>>> >> > >>> ...Found TIOCGWINSZ. >>>> >> > >>> ...Found getrlimit. >>>> >> > >>> ...Found stat. >>>> >> > >>> ...Found vsnprintf. >>>> >> > >>> ...I did not find dlopen. >>>> >> > >>> Try again, with -ldl this time... >>>> >> > >>> ...Found dlopen. >>>> >> > >>> Checking for optional libraries and headers... >>>> >> > >>> ...Found libgmp in /tmp/jason/sage-4.2.1/local/lib >>>> >> > >>> ...Found gmp header in /tmp/jason/sage-4.2.1/local/include >>>> >> > >>> Using GNU MP, version 4.2.1 >>>> >> > >>> ### >>>> >> > >>> ### libX11.so not found. Please install X11 development files. >>>> >> > >>> ### They usually come in XFree86-devel (RPM) or xlibs-dev (Debian) >>>> >> > >>> packages ### >>>> >> > >>> ### X11 not found >>>> >> > >>> ### FLTK not found. Building without FLTK support >>>> >> > >>> Hi-Res Graphics: none >>>> >> > >>> ...Found libreadline in /tmp/jason/sage-4.2.1/local/lib >>>> >> > >>> ...Found readline header in >>>> >> > >>> /tmp/jason/sage-4.2.1/local/include/readline ...Found history >>>> >> > >>> header in /tmp/jason/sage-4.2.1/local/include/readline ### >>>> >> > >>> ### libncurses.so not found. Please install ncurses development >>>> >> > >>> files. ### They usually come in ncurses-devel (RPM) or >>>> >> > >>> libncurses-dev (Debian) packages >>>> >> > >>> ### >>>> >> > >>> ### >>>> >> > >>> ### Readline library detected, but does not seem to work >>>> >> > >>> ### >>>> >> > >>> ### Building without GNU readline support >>>> >> > >>> Installation prefix ? [/tmp/jason/sage-4.2.1/local] >>>> >> > >>> ...for architecture-independent files (share-prefix) ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share] >>>> >> > >>> Installation directories for: >>>> >> > >>> ...executables (gp, gphelp) ? [/tmp/jason/sage-4.2.1/local/bin] >>>> >> > >>> ...libraries (libpari) ? [/tmp/jason/sage-4.2.1/local/lib] >>>> >> > >>> ...include files ? [/tmp/jason/sage-4.2.1/local/include] >>>> >> > >>> ...manual pages ? [/tmp/jason/sage-4.2.1/local/share/man/man1] >>>> >> > >>> ...emacs macros ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share/emacs/site-lisp/pari] ...other >>>> >> > >>> system-dependant data ? [/tmp/jason/sage-4.2.1/local/lib/pari] >>>> >> > >>> ...other system-independant data ? >>>> >> > >>> [/tmp/jason/sage-4.2.1/local/share/pari] Default is dynamic >>>> >> > >>> executable and shared library >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Extracting examples/Makefile.linux-i686 >>>> >> > >>> Extracting Olinux-i686/Makefile >>>> >> > >>> Extracting Olinux-i686/../Odos/paricfg.h >>>> >> > >>> ./config/paricfgDOS.h.SH: line 3: Olinux-i686/../Odos/paricfg.h: >>>> >> > >>> No such file or directory >>>> >> > >>> Extracting Olinux-i686/paricfg.h >>>> >> > >>> Extracting Makefile >>>> >> > >>> Extracting scripts and macros >>>> >> > >>> ...in doc >>>> >> > >>> ...in emacs >>>> >> > >>> ...in misc >>>> >> > >>> ================================================================== >>>> >> > >>>=== == === Shall we try to build pari 2.3.3 (released) now (y/n)? >>>> >> > >>> [n] Ok. Type "make install" when you are ready >>>> >> > >>> Bye ! >>>> >> > >>> Making gp in Olinux-i686 >>>> >> > >>> make[1]: Entering directory >>>> >> > >>> `/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3.p5/src/Olinux-i686' >>>> >> > >>> File ../src/funclist not changed. >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -I../src/language -o >>>> >> > >>> gp.o ../src/gp/gp.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -I../src/language -o gp_rl.o >>>> >> > >>> ../src/gp/gp_rl.c /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -I../src/graph -o >>>> >> > >>> plotport.o >>>> >> > >>> ../src/graph/plotport.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o plotnull.o ../src/graph/plotnull.c >>>> >> > >>> cat ../src/kernel/gmp/mp.c ../src/kernel/none/cmp.c >>>> >> > >>> ../src/kernel/none/gcdll.c ../src/kernel/none/ratlift.c >>>> >> > >>> ../src/kernel/none/invmod.c >>>> >> > >>> ../src/kernel/gmp/gcd.c ../src/kernel/none/mp_indep.c >>>> >> > >>> ../src/kernel/none/add.c >>>> >> > >>> >>>> >> > >>> > mp.c >>>> >> > >>> >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -I/tmp/jason/sage-4.2.1/local/include -o mp.o mp.c /usr/bin/gcc >>>> >> > >>> -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o mpinl.o >>>> >> > >>> ../src/kernel/none/mpinl.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o alglin1.o >>>> >> > >>> ../src/basemath/alglin1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o alglin2.o ../src/basemath/alglin2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o arith1.o ../src/basemath/arith1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o arith2.o ../src/basemath/arith2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o base1.o ../src/basemath/base1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o base2.o ../src/basemath/base2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o base3.o ../src/basemath/base3.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o base4.o ../src/basemath/base4.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o base5.o ../src/basemath/base5.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o bibli1.o ../src/basemath/bibli1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o bibli2.o ../src/basemath/bibli2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o buch1.o ../src/basemath/buch1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o buch2.o ../src/basemath/buch2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o buch3.o ../src/basemath/buch3.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o buch4.o ../src/basemath/buch4.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o Flx.o ../src/basemath/Flx.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o galconj.o >>>> >> > >>> ../src/basemath/galconj.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o gen1.o ../src/basemath/gen1.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o gen2.o >>>> >> > >>> ../src/basemath/gen2.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o gen3.o >>>> >> > >>> ../src/basemath/gen3.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o ifactor1.o >>>> >> > >>> ../src/basemath/ifactor1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o perm.o ../src/basemath/perm.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o polarit1.o >>>> >> > >>> ../src/basemath/polarit1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o polarit2.o ../src/basemath/polarit2.c /usr/bin/gcc -c -O1 >>>> >> > >>> -Wall -fno-strict-aliasing -fomit-frame-pointer -I. - >>>> >> > >>> I../src/headers -o polarit3.o ../src/basemath/polarit3.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o Qfb.o >>>> >> > >>> ../src/basemath/Qfb.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o RgX.o >>>> >> > >>> ../src/basemath/RgX.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o rootpol.o >>>> >> > >>> ../src/basemath/rootpol.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o subcyclo.o ../src/basemath/subcyclo.c /usr/bin/gcc -c -O1 >>>> >> > >>> -Wall -fno-strict-aliasing -fomit-frame-pointer -I. - >>>> >> > >>> I../src/headers -o subgroup.o ../src/basemath/subgroup.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o trans1.o >>>> >> > >>> ../src/basemath/trans1.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o trans2.o ../src/basemath/trans2.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o trans3.o ../src/basemath/trans3.c cd ../src/desc && >>>> >> > >>> /usr/bin/perl gen_member pari.desc > members-linux- i686-15930.tmp >>>> >> > >>> mv ../src/desc/members-linux-i686-15930.tmp >>>> >> > >>> ../src/language/members.h /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o anal.o ../src/language/anal.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o compat.o >>>> >> > >>> ../src/language/compat.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o default.o ../src/language/default.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o errmsg.o ../src/language/errmsg.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o es.o ../src/language/es.c >>>> >> > >>> cd ../src/desc && /usr/bin/perl gen_proto basic pari.desc > >>>> >> > >>> init-linux- i686-15930.tmp >>>> >> > >>> mv ../src/desc/init-linux-i686-15930.tmp ../src/language/init.h >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o init.o >>>> >> > >>> ../src/language/init.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o intnum.o >>>> >> > >>> ../src/language/intnum.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o members.o ../src/language/members.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o sumiter.o ../src/language/sumiter.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o aprcl.o ../src/modules/aprcl.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o elldata.o ../src/modules/elldata.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o elliptic.o ../src/modules/elliptic.c /usr/bin/gcc -c -O1 >>>> >> > >>> -Wall -fno-strict-aliasing -fomit-frame-pointer -I. - >>>> >> > >>> I../src/headers -o galois.o ../src/modules/galois.c /usr/bin/gcc >>>> >> > >>> -c -O1 -Wall -fno-strict-aliasing -fomit-frame-pointer -I. - >>>> >> > >>> I../src/headers -o groupid.o ../src/modules/groupid.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o kummer.o >>>> >> > >>> ../src/modules/kummer.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o mpqs.o ../src/modules/mpqs.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o nffactor.o >>>> >> > >>> ../src/modules/nffactor.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o part.o ../src/modules/part.c >>>> >> > >>> /usr/bin/gcc -c -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -I. - I../src/headers -o stark.o >>>> >> > >>> ../src/modules/stark.c /usr/bin/gcc -c -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer -I. - I../src/headers >>>> >> > >>> -o subfield.o ../src/modules/subfield.c /usr/bin/gcc -c -O1 >>>> >> > >>> -Wall -fno-strict-aliasing -fomit-frame-pointer -I. - >>>> >> > >>> I../src/headers -o thue.o ../src/modules/thue.c >>>> >> > >>> rm -f libpari-gmp.so.2.3.3 >>>> >> > >>> /usr/bin/gcc -o libpari-gmp.so.2.3.3 -shared -O1 -Wall >>>> >> > >>> -fno-strict-aliasing -fomit-frame-pointer >>>> >> > >>> -Wl,-shared,-soname=libpari-gmp.so.2 mp.o mpinl.o alglin1.o >>>> >> > >>> alglin2.o arith1.o arith2.o base1.o base2.o base3.o base4.o >>>> >> > >>> base5.o bibli1.o bibli2.o buch1.o buch2.o buch3.o buch4.o Flx.o >>>> >> > >>> galconj.o gen1.o gen2.o gen3.o ifactor1.o perm.o polarit1.o >>>> >> > >>> polarit2.o polarit3.o Qfb.o RgX.o rootpol.o subcyclo.o subgroup.o >>>> >> > >>> trans1.o trans2.o trans3.o anal.o compat.o default.o errmsg.o es.o >>>> >> > >>> init.o intnum.o members.o sumiter.o aprcl.o elldata.o elliptic.o >>>> >> > >>> galois.o groupid.o kummer.o mpqs.o nffactor.o part.o stark.o >>>> >> > >>> subfield.o thue.o -lc -ldl -lm >>>> >> > >>> -L/tmp/jason/sage-4.2.1/local/lib -lgmp if test >>>> >> > >>> "libpari-gmp.so.2.3.3" != "libpari.so"; then rm -f >>>> >> > >>> libpari.so; ln -s libpari-gmp.so.2.3.3 libpari.so; fi >>>> >> > >>> if test "libpari-gmp.so.2.3.3" != "libpari-gmp.so.2"; then >>>> >> > >>> rm -f libpari-gmp.so.2; ln -s libpari-gmp.so.2.3.3 >>>> >> > >>> libpari-gmp.so.2; fi rm -f gp-dyn >>>> >> > >>> /usr/bin/gcc -o gp-dyn -O1 -Wall -fno-strict-aliasing >>>> >> > >>> -fomit-frame-pointer -Wl,--export-dynamic gp.o gp_init.o gp_rl.o >>>> >> > >>> highlvl.o whatnow.o plotport.o plotnull.o >>>> >> > >>> -L"/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3.p5/src/Olinux-i686" >>>> >> > >>> -L/tmp/jason/sage-4.2.1/local/lib -lpari -ldl -lm - >>>> >> > >>> L/tmp/jason/sage-4.2.1/local/lib -lgmp >>>> >> > >>> rm -f ../gp >>>> >> > >>> ln -s Olinux-i686/gp-dyn ../gp >>>> >> > >>> make[1]: Leaving directory >>>> >> > >>> `/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3.p5/src/Olinux-i686' >>>> >> > >>> jasonmox...@debian5-32:/tmp/jason/sage-4.2.1/spkg/build/pari-2.3.3 >>>> >> > >>>.p5 /s rc$ >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> >>>> >> > >>> If the line number where the error occurs is correct then it looks >>>> >> > >>> like libm is at fault >>>> >> > >>> >>>> >> > >>> On Saturday 14 November 2009 19:23:19 Bill Hart wrote: >>>> >> > >>> > Was the option -O1 passed to gcc in all instances where the >>>> >> > >>> > problem occurred? >>>> >> > >>> > >>>> >> > >>> > I have heard of instances where -O1 will cause macro errors >>>> >> > >>> > which cause the compiler to shut down. When a higher >>>> >> > >>> > optimisation level is used the macro which causes the crash in >>>> >> > >>> > gcc is optimised away. >>>> >> > >>> > >>>> >> > >>> > If that turns out to be the issue, the solution will be to >>>> >> > >>> > simply compile that one file with -O2 optimisation. For most >>>> >> > >>> > things -O1 is far too slow anyway. >>>> >> > >>> > >>>> >> > >>> > Bill. >>>> >> > >>> > >>>> >> > >>> > 2009/11/14 William Stein <[email protected]>: >>>> >> > >>> > > On Sat, Nov 14, 2009 at 12:05 AM, Jason Moxham >>>> >> > >>> > > >>>> >> > >>> > > <[email protected]> wrote: >>>> >> > >>> > >> Hi >>>> >> > >>> > >> >>>> >> > >>> > >> I thought I would give it a try , but I cant login to >>>> >> > >>> > >> debian32 , doesn't like my password , although boxen and >>>> >> > >>> > >> fedora32 are OK ?? I thought the passwords were all the same >>>> >> > >>> > >> for the virtual machines. >>>> >> > >>> > > >>>> >> > >>> > > No. I've added your login info so you should be able to login >>>> >> > >>> > > now. >>>> >> > >>> > > >>>> >> > >>> > >> I havent managed to reproduce any error on some other 32bit >>>> >> > >>> > >> machines but nothing was exactly the same. >>>> >> > >>> > > >>>> >> > >>> > > You might want to try starting by doing >>>> >> > >>> > > >>>> >> > >>> > > export SAGE_FAT_BINARY="yes" >>>> >> > >>> > > >>>> >> > >>> > > then build sage-4.2.1.tar by typing "make", which is at >>>> >> > >>> > > >>>> >> > >>> > > http://sage.math.washington.edu/home/wstein/farm/src/ >>>> >> > >>> > > >>>> >> > >>> > > It'll take a few hours, but you should get the error. >>>> >> > >>> > > >>>> >> > >>> > > William >>> >>> >>> >>> >>> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en -~----------~----~----~----~------~----~------~--~---
