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
-~----------~----~----~----~------~----~------~--~---

Reply via email to