[sage-devel] Re: Problems building Sage 4.4.1

2010-06-11 Thread Matthew Gwynne
Thanks for the response! We'll try to disable it for now, and
investigate some of the other things mentioned in this thread.

The problem we have is that we need to provide something like CC/CXX
flags, as the only compiler we can guarantee is the one which we
install, which is installed in a specific location, not globally. Is
there some way we can do something similar to this in Sage? You said
that CC/CXX do not work very well, why is this :(?

Thanks!

Matthew

On Jun 8, 6:21 pm, David Kirkby david.kir...@onetel.net wrote:
 On 8 June 2010 17:17, Matthew Gwynne mathew.gwy...@gmail.com wrote:

  Hi,

  As some additional points of interest/questions for this problem:

  1. Version 2.7.2 was the lastSageversion which could be installed.
  We tried most versions since then (latest 4.4.2), and they all failed
  with the same error.

 Looking at the error message:

 -
 /usr/local/lib/../lib/libstdc++.so: could not read symbols: File in
 wrong format
 collect2: ld returned 1 exit status
 make[4]: *** [libfplll.la] Error 1
 -

 it rather suggests the compiler is complaining about a file in
 /usr/local, rather than one in theSagedirectory. It's quite possible
 that libfplll is the first package to link to the C++ library, which
 is what that file is.

 I would consider downloading gcc 4.4.4 (not 4.5, as that is quite new,
 and probably more buggy than the 4.4 series), and compiling that. You
 would also need to download mpfr and gmp, and build those.

 It's difficult to suggest much more. I'm not a linux guru, but had I
 hit the same message on the Solaris operating system, I would suspect
 the compiler. (Not that I claim to be a Solaris guru!)

 It's clear different parts of your compiler were built at different
 times, as your C and C++ compilers were built without Fortran support,
 and the Fortran compiler was built with C, C++ and Fortran support.
 That in itself should not stop the combination working, but I'd
 certainly look at trying another compiler.

  2. It is always the same package which fails. We don't have any other
  installation problems in our system, so we wonder if that package
  might be faulty in some way? Is there some difference with that
  package compared to other packages (in theSage-build)?

 To be honest, few packages are configured identically.

  3. Is that package needed? Is there some way we can prevent it from
  being used/built?

 You can stop pacakge 'foobar' building by foolingSageinto believing
 the package is already installed. The way to do that is

 touch spkg/installed/foobar

 In the case of some packages, that will still allowSageto build, but
 certainly not all packages. I don't know for sure whether this would
 be essential or not to get some sort of workingSage.

 It would be useful to try this. You might find other packages fail
 with a similar error, which would make me even more suspicious it is a
 compiler problem.

  Thanks again!

  Matthew

 Sorry I can't be of much more help.

 Dave





  On May 26, 2:54 pm, David Kirkby david.kir...@onetel.net wrote:
  On 26 May 2010 11:57, Matthew Gwynne mathew.gwy...@gmail.com wrote:

   Hi,

   The system information is given below -

   
   Host system
   uname -a:
   Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
   x86_64 x86_64 x86_64 GNU/Linux
   
   
   CC Version
   gcc -v
   Using built-in specs.
   Target: x86_64-unknown-linux-gnu
   Configured with: ./configure --enable-languages=c,c++ --enable-
   threads=posix --enable-shared
   Thread model: posix

  Something is odd here. You need to have a compiler supporting Fortran,
  yet yours was compiled without Fortran support. I'm very surprised the
  'prereq' script does not detect this, as it should check for a fortran
  compiler and confirm its the same version as the C and C++ compilers.

  So unless you have two installations of gcc, both of the same version,
  I don't know how you got this far.

  can you give me the outputs of

  $ command -v gcc
  $ command -v g++
  $ command -v gfortran
  $ gcc -v
  $ g++ -v
  $ gfortran -v
  $ echo $LD_LIBRARY_PATH
  $ echo $CC
  $ echo $CXX
  $ echo SAGE_FORTRAN
  $ echo SAGE_FORTRAN_LIB

  Specifying the compiler locations with CC and CXX does not work too well

  Dave

  --
  To post to this group, send an email tosage-de...@googlegroups.com
  To unsubscribe from this group, send an email 
  tosage-devel+unsubscr...@googlegroups.com
  For more options, visit this group 
  athttp://groups.google.com/group/sage-devel
  URL:http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at 

Re: [sage-devel] Re: Problems building Sage 4.4.1

2010-06-11 Thread Dr. David Kirkby

On 06/11/10 06:34 PM, Matthew Gwynne wrote:

Thanks for the response! We'll try to disable it for now, and
investigate some of the other things mentioned in this thread.

The problem we have is that we need to provide something like CC/CXX
flags, as the only compiler we can guarantee is the one which we
install, which is installed in a specific location, not globally. Is
there some way we can do something similar to this in Sage? You said
that CC/CXX do not work very well, why is this :(?

Thanks!

Matthew


CC, CXX, CFLAGS and similar should be considered broken. If CC is undefined, 
Sage environment script sets CC to gcc. If CXX is not defined, Sage 
environment script sets CXX to g++, That seems logical.


However, if CC is defined, the Sage environment script does not change it. Again 
this seems logical.


When the individual components of Sage are built, some well behaved packages 
respect these, and use the respective compiles. A large number do not, and use 
gcc or g++


So if you set

$ CC=/path/to/my/favorite/gcc

some programs will use the first gcc in the path and others will use 
/path/to/my/favorite/gcc. It is hit-and-miss


Over the course of time, I've filed loads of bug reports for these, and fixed 
some of them. The easiest way to find them, is to install the Sun compiler, then 
let type make, and detect what packages build with gcc. Many do unfortunately.


These are all outstanding.

http://trac.sagemath.org/sage_trac/ticket/7071
http://trac.sagemath.org/sage_trac/ticket/7069
http://trac.sagemath.org/sage_trac/ticket/7066
http://trac.sagemath.org/sage_trac/ticket/7027
http://trac.sagemath.org/sage_trac/ticket/7024

I've fixed a few

http://trac.sagemath.org/sage_trac/ticket/7036
http://trac.sagemath.org/sage_trac/ticket/7032

but there are many more. Fixing them is not always easy.


Your best course of action is to make sure your path is set correctly and 
perhaps LD_LIBRARY_PATH are set correctly to find the right compiler, so when 
you type just gcc you get a workable compiler.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-06-08 Thread Matthew Gwynne
Hi,

As some additional points of interest/questions for this problem:

1. Version 2.7.2 was the last Sage version which could be installed.
We tried most versions since then (latest 4.4.2), and they all failed
with the same error.

2. It is always the same package which fails. We don't have any other
installation problems in our system, so we wonder if that package
might be faulty in some way? Is there some difference with that
package compared to other packages (in the Sage-build)?

3. Is that package needed? Is there some way we can prevent it from
being used/built?

Thanks again!

Matthew

On May 26, 2:54 pm, David Kirkby david.kir...@onetel.net wrote:
 On 26 May 2010 11:57, Matthew Gwynne mathew.gwy...@gmail.com wrote:





  Hi,

  The system information is given below -

  
  Host system
  uname -a:
  Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
  x86_64 x86_64 x86_64 GNU/Linux
  
  
  CC Version
  gcc -v
  Using built-in specs.
  Target: x86_64-unknown-linux-gnu
  Configured with: ./configure --enable-languages=c,c++ --enable-
  threads=posix --enable-shared
  Thread model: posix

 Something is odd here. You need to have a compiler supporting Fortran,
 yet yours was compiled without Fortran support. I'm very surprised the
 'prereq' script does not detect this, as it should check for a fortran
 compiler and confirm its the same version as the C and C++ compilers.

 So unless you have two installations of gcc, both of the same version,
 I don't know how you got this far.

 can you give me the outputs of

 $ command -v gcc
 $ command -v g++
 $ command -v gfortran
 $ gcc -v
 $ g++ -v
 $ gfortran -v
 $ echo $LD_LIBRARY_PATH
 $ echo $CC
 $ echo $CXX
 $ echo SAGE_FORTRAN
 $ echo SAGE_FORTRAN_LIB

 Specifying the compiler locations with CC and CXX does not work too well

 Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Problems building Sage 4.4.1

2010-06-08 Thread David Kirkby
On 8 June 2010 17:17, Matthew Gwynne mathew.gwy...@gmail.com wrote:
 Hi,

 As some additional points of interest/questions for this problem:

 1. Version 2.7.2 was the last Sage version which could be installed.
 We tried most versions since then (latest 4.4.2), and they all failed
 with the same error.

Looking at the error message:

-
/usr/local/lib/../lib/libstdc++.so: could not read symbols: File in
wrong format
collect2: ld returned 1 exit status
make[4]: *** [libfplll.la] Error 1
-

it rather suggests the compiler is complaining about a file in
/usr/local, rather than one in the Sage directory. It's quite possible
that libfplll is the first package to link to the C++ library, which
is what that file is.

I would consider downloading gcc 4.4.4 (not 4.5, as that is quite new,
and probably more buggy than the 4.4 series), and compiling that. You
would also need to download mpfr and gmp, and build those.

It's difficult to suggest much more. I'm not a linux guru, but had I
hit the same message on the Solaris operating system, I would suspect
the compiler. (Not that I claim to be a Solaris guru!)

It's clear different parts of your compiler were built at different
times, as your C and C++ compilers were built without Fortran support,
and the Fortran compiler was built with C, C++ and Fortran support.
That in itself should not stop the combination working, but I'd
certainly look at trying another compiler.

 2. It is always the same package which fails. We don't have any other
 installation problems in our system, so we wonder if that package
 might be faulty in some way? Is there some difference with that
 package compared to other packages (in the Sage-build)?

To be honest, few packages are configured identically.


 3. Is that package needed? Is there some way we can prevent it from
 being used/built?


You can stop pacakge 'foobar' building by fooling Sage into believing
the package is already installed. The way to do that is

touch spkg/installed/foobar

In the case of some packages, that will still allow Sage to build, but
certainly not all packages. I don't know for sure whether this would
be essential or not to get some sort of working Sage.

It would be useful to try this. You might find other packages fail
with a similar error, which would make me even more suspicious it is a
compiler problem.

 Thanks again!

 Matthew

Sorry I can't be of much more help.

Dave

 On May 26, 2:54 pm, David Kirkby david.kir...@onetel.net wrote:
 On 26 May 2010 11:57, Matthew Gwynne mathew.gwy...@gmail.com wrote:





  Hi,

  The system information is given below -

  
  Host system
  uname -a:
  Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
  x86_64 x86_64 x86_64 GNU/Linux
  
  
  CC Version
  gcc -v
  Using built-in specs.
  Target: x86_64-unknown-linux-gnu
  Configured with: ./configure --enable-languages=c,c++ --enable-
  threads=posix --enable-shared
  Thread model: posix

 Something is odd here. You need to have a compiler supporting Fortran,
 yet yours was compiled without Fortran support. I'm very surprised the
 'prereq' script does not detect this, as it should check for a fortran
 compiler and confirm its the same version as the C and C++ compilers.

 So unless you have two installations of gcc, both of the same version,
 I don't know how you got this far.

 can you give me the outputs of

 $ command -v gcc
 $ command -v g++
 $ command -v gfortran
 $ gcc -v
 $ g++ -v
 $ gfortran -v
 $ echo $LD_LIBRARY_PATH
 $ echo $CC
 $ echo $CXX
 $ echo SAGE_FORTRAN
 $ echo SAGE_FORTRAN_LIB

 Specifying the compiler locations with CC and CXX does not work too well

 Dave

 --
 To post to this group, send an email to sage-devel@googlegroups.com
 To unsubscribe from this group, send an email to 
 sage-devel+unsubscr...@googlegroups.com
 For more options, visit this group at 
 http://groups.google.com/group/sage-devel
 URL: http://www.sagemath.org


-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-06-02 Thread Matthew Gwynne
Here is the output:

~ command -v gcc
/usr/local/bin/gcc
~ command -v g++
/usr/local/bin/g++
~ command -v gfortran
/usr/local/bin/gfortran
~ gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --enable-
threads=posix --enable-shared
Thread model: posix
gcc version 4.1.2
~ g++ -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --enable-
threads=posix --enable-shared
Thread model: posix
gcc version 4.1.2
~ gfortran -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++,fortran --enable-
threads=posix --enable-shared
Thread model: posix
gcc version 4.1.2
~ echo $LD_LIBRARY_PATH

~ echo $CC

~ echo $CXX

~ echo SAGE_FORTRAN
SAGE_FORTRAN
~ echo $SAGE_FORTRAN

~ echo $SAGE_FORTRAN_LIB



Thanks!

Matthew

On May 26, 2:54 pm, David Kirkby david.kir...@onetel.net wrote:
 On 26 May 2010 11:57, Matthew Gwynne mathew.gwy...@gmail.com wrote:





  Hi,

  The system information is given below -

  
  Host system
  uname -a:
  Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
  x86_64 x86_64 x86_64 GNU/Linux
  
  
  CC Version
  gcc -v
  Using built-in specs.
  Target: x86_64-unknown-linux-gnu
  Configured with: ./configure --enable-languages=c,c++ --enable-
  threads=posix --enable-shared
  Thread model: posix

 Something is odd here. You need to have a compiler supporting Fortran,
 yet yours was compiled without Fortran support. I'm very surprised the
 'prereq' script does not detect this, as it should check for a fortran
 compiler and confirm its the same version as the C and C++ compilers.

 So unless you have two installations of gcc, both of the same version,
 I don't know how you got this far.

 can you give me the outputs of

 $ command -v gcc
 $ command -v g++
 $ command -v gfortran
 $ gcc -v
 $ g++ -v
 $ gfortran -v
 $ echo $LD_LIBRARY_PATH
 $ echo $CC
 $ echo $CXX
 $ echo SAGE_FORTRAN
 $ echo SAGE_FORTRAN_LIB

 Specifying the compiler locations with CC and CXX does not work too well

 Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-05-26 Thread Matthew Gwynne
Hi,

The system information is given below -


Host system
uname -a:
Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
x86_64 x86_64 x86_64 GNU/Linux


CC Version
gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --enable-
threads=posix --enable-shared
Thread model: posix
gcc version 4.1.2

My colleague suggest that typically these errors are caused by missing
-fPIC options when building (or something
else must have gone wrong when building the libfpplll library).

Thanks!

Matthew


On May 24, 2:14 pm, kcrisman kcris...@gmail.com wrote:
 On May 24, 9:11 am, kcrisman kcris...@gmail.com wrote:





  Dear Matthew,

  Thanks for your report.  I know I can't answer your question fully :)
  but I can say that the most likely way to receive more specific info
  is to also post your OS, chip type if known, and any other info.

  One reason I say this might be relevant is the following I found doing
  a quick Google search for your error message, 
  athttp://ugweb.cs.ualberta.ca/~rod/tutorials/error_messagesC.html:

   If you compile part of a
  project on one type of architecture and then try to compile the rest
  of the
  project on another type of architecture, when you go to make the final
  executable the linker/loader will NOT be able to read one of the parts
  of the
  project .o files to create an executable, thus the
  could not read symbols: File in wrong format error message.

  I'm not saying that's what the problem is, but information about your
  physical computer and its system will help enormously in tracking this
  down, especially if others have also experienced it.

 One more possible piece of useful info - any 32 versus 64 bit info you
 may have.

 --
 To post to this group, send an email to sage-devel@googlegroups.com
 To unsubscribe from this group, send an email to 
 sage-devel+unsubscr...@googlegroups.com
 For more options, visit this group athttp://groups.google.com/group/sage-devel
 URL:http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Problems building Sage 4.4.1

2010-05-26 Thread David Kirkby
On 26 May 2010 11:57, Matthew Gwynne mathew.gwy...@gmail.com wrote:
 Hi,

 The system information is given below -

 
 Host system
 uname -a:
 Linux cs-wsok 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006
 x86_64 x86_64 x86_64 GNU/Linux
 
 
 CC Version
 gcc -v
 Using built-in specs.
 Target: x86_64-unknown-linux-gnu
 Configured with: ./configure --enable-languages=c,c++ --enable-
 threads=posix --enable-shared
 Thread model: posix

Something is odd here. You need to have a compiler supporting Fortran,
yet yours was compiled without Fortran support. I'm very surprised the
'prereq' script does not detect this, as it should check for a fortran
compiler and confirm its the same version as the C and C++ compilers.

So unless you have two installations of gcc, both of the same version,
I don't know how you got this far.

can you give me the outputs of

$ command -v gcc
$ command -v g++
$ command -v gfortran
$ gcc -v
$ g++ -v
$ gfortran -v
$ echo $LD_LIBRARY_PATH
$ echo $CC
$ echo $CXX
$ echo SAGE_FORTRAN
$ echo SAGE_FORTRAN_LIB

Specifying the compiler locations with CC and CXX does not work too well

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-05-25 Thread leif
On 25 Mai, 02:13, Dr. David Kirkby david.kir...@onetel.net wrote:
 On 05/24/10 05:26 PM, leif wrote:

  Looks like the (fairly old) gcc/g++ in /usr/local is misconfigured; it
  definitely tries to link a 64-bit (x86_64) C++ program against the 32-
  bit libstdc++.so (in /usr/local/lib) instead of the 64-bit version in /
  usr/local/lib64. (Actually it is forced to do so by libtool.)

 I'm not so convinced this failure with 'libfplll' is a gcc problem, but rather
 it is a 'libfplll' problem.

 I'm seeing the exact same issue with 'libfplll' on OpenSolaris.

 http://trac.sagemath.org/sage_trac/ticket/7864

 The fact the original poster, his colleague and myself are all seeing this,
 suggests to me that perhaps libfplll may be at fault in trying to link 64-bit
 objects to 32-bit libstdc++

 Other parts of the Sage build process are correctly using the 64-bit version 
 of
 libstdc++.so on my OpenSolaris box - see for example this line.

What I wanted to say is that installing another version of gcc in /usr/
local on systems (like Linux distros) where there already is a
native one (gcc) in /usr is non-trivial, i.e. this doesn't work out
of the box.

With the native gcc, -lstdc++ is passed to the linker (which would
have worked in Matthew's installation, too), while with gcc in /usr/
local its absolute filename is passed.

These are snippets from install.log, the first is from Sage 4.4.2 on
Ubuntu 9.04 x86_64 with native gcc (4.3.3), the second is from Sage
4.4.2.rc0 on Ubuntu 9.04 x86_64 with gcc 4.5.0 in /usr/local:

* native gcc in /usr:
-8--8--8--8--8--8--
 g++ -DPACKAGE_NAME=\libfplll\ -DPACKAGE_TARNAME=\libfplll\ -
DPACKAGE_VERSION=\3.0.12\ -DPACKAGE_STRING=\libfplll 3.0.12\ -
DPACKAGE_BUGREPORT=\\ -DPACKAGE=\libfplll\ -DVERSION=\3.0.12\ -
DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -
DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -
DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBGMP=1 -DHAVE_LIBMPFR=1 -
DSTDC_HEADERS=1 -DHAVE_FLOAT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STDLIB_H=1 -
DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDBOOL_H=1 -DHAVE_FLOOR=1
-DHAVE_POW=1 -DHAVE_RINT=1 -DHAVE_SQRT=1 -DHAVE_STRTOL=1 -
DHAVE_LIBGMP=1 -DHAVE_LIBMPFR=1 -I. -I. -I/home/leif64/Sage/sage-4.4.2-
too/local/include/ -fPIC -I/home/leif64/Sage/sage-4.4.2-too/local/
include/ -L/home/leif64/Sage/sage-4.4.2-too/local/lib -MT dummy.lo -MD
-MP -MF .deps/dummy.Tpo -c dummy.cpp  -fPIC -DPIC -o .libs/dummy.o
 g++ -DPACKAGE_NAME=\libfplll\ -DPACKAGE_TARNAME=\libfplll\ -
DPACKAGE_VERSION=\3.0.12\ -DPACKAGE_STRING=\libfplll 3.0.12\ -
DPACKAGE_BUGREPORT=\\ -DPACKAGE=\libfplll\ -DVERSION=\3.0.12\ -
DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -
DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -
DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBGMP=1 -DHAVE_LIBMPFR=1 -
DSTDC_HEADERS=1 -DHAVE_FLOAT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STDLIB_H=1 -
DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDBOOL_H=1 -DHAVE_FLOOR=1
-DHAVE_POW=1 -DHAVE_RINT=1 -DHAVE_SQRT=1 -DHAVE_STRTOL=1 -
DHAVE_LIBGMP=1 -DHAVE_LIBMPFR=1 -I. -I. -I/home/leif64/Sage/sage-4.4.2-
too/local/include/ -fPIC -I/home/leif64/Sage/sage-4.4.2-too/local/
include/ -L/home/leif64/Sage/sage-4.4.2-too/local/lib -MT dummy.lo -MD
-MP -MF .deps/dummy.Tpo -c dummy.cpp -o dummy.o /dev/null 21
/bin/bash ./libtool --tag=CXX --mode=link g++  -fPIC -I/home/leif64/
Sage/sage-4.4.2-too/local/include/ -L/home/leif64/Sage/sage-4.4.2-too/
local/lib   -o libfplll.la -rpath /home/leif64/Sage/sage-4.4.2-too/
local/lib -version-info 1:0:1 dummy.lo -lgmp -lmpfr -lmpfr -lgmp -
lmpfr -lgmp
g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../
lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtbeginS.o  .libs/
dummy.o  -Wl,--rpath -Wl,/home/leif64/Sage/sage-4.4.2-too/local/lib -
Wl,--rpath -Wl,/home/leif64/Sage/sage-4.4.2-too/local/lib -L/home/
leif64/Sage/sage-4.4.2-too/local/lib /home/leif64/Sage/sage-4.4.2-too/
local/lib/libmpfr.so /home/leif64/Sage/sage-4.4.2-too/local/lib/
libgmp.so -L/home/leif64/Sage/sage-4.4.2-too/local/lib/../lib -L/usr/
lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/
4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/
x86_64-linux-gnu/4.3.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/
x86_64-linux-gnu/4.3.3/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/
4.3.3/../../../../lib/crtn.o  -Wl,-soname -Wl,libfplll.so.0 -o .libs/
libfplll.so.0.1.0
(cd .libs  rm -f libfplll.so.0  ln -s libfplll.so.0.1.0
libfplll.so.0)
(cd .libs  rm -f libfplll.so  ln -s libfplll.so.0.1.0 libfplll.so)
ar cru .libs/libfplll.a  dummy.o
ranlib .libs/libfplll.a
creating libfplll.la
(cd .libs  rm -f libfplll.la  ln -s ../libfplll.la libfplll.la)
make[3]: Verlasse Verzeichnis '/home/leif64/Sage/sage-4.4.2-too/spkg/
build/libfplll-3.0.12.p0/src'

[sage-devel] Re: Problems building Sage 4.4.1

2010-05-25 Thread leif
On 25 Mai, 11:18, leif not.rea...@online.de wrote:
 What I wanted to say is that installing another version of gcc in /usr/
 local on systems (like Linux distros) where there already is a
 native one (gcc) in /usr is non-trivial, i.e. this doesn't work out
 of the box.

 With the native gcc, -lstdc++ is passed to the linker (which would
 have worked in Matthew's installation, too), while with gcc in /usr/
 local its absolute filename is passed.

Oops, the custom gcc is actually installed in /usr, not /usr/local,
but this shouldn't matter... ;-)
(It is configured with --enable-version-specific-runtime-libs and --
program-suffix=)

-Leif

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-05-24 Thread kcrisman
Dear Matthew,

Thanks for your report.  I know I can't answer your question fully :)
but I can say that the most likely way to receive more specific info
is to also post your OS, chip type if known, and any other info.

One reason I say this might be relevant is the following I found doing
a quick Google search for your error message, at
http://ugweb.cs.ualberta.ca/~rod/tutorials/error_messagesC.html :

 If you compile part of a
project on one type of architecture and then try to compile the rest
of the
project on another type of architecture, when you go to make the final
executable the linker/loader will NOT be able to read one of the parts
of the
project .o files to create an executable, thus the
could not read symbols: File in wrong format error message.

I'm not saying that's what the problem is, but information about your
physical computer and its system will help enormously in tracking this
down, especially if others have also experienced it.

Best,
- kcrisman

On May 24, 8:45 am, Matthew Gwynne mathew.gwy...@gmail.com wrote:
 Hi,

 When building Sage 4.4.1, I (and also my colleague) get the following
 errors during the build process -

 /bin/sh ./libtool --tag=CXX --mode=link g++  -fPIC -I/home/csoliver/
 SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
 sage-4.4.1/local/include/ -L/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib   -o
 libfplll.la -rpath /home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib -version-info
 1:0:1 dummy.lo -lgmp -lmpfr -lmpfr -lgmp -lmpfr -lgmp
 g++ -shared -nostdlib /usr/lib/../lib64/crti.o /usr/local/lib/gcc/
 x86_64-unknown-linux-gnu/4.1.2/crtbeginS.o  .libs/dummy.o  -Wl,--rpath
 -Wl,/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/
 Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -Wl,/usr/local/
 lib/../lib -Wl,--rpath -Wl,/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -
 Wl,/usr/local/lib/../lib -L/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib /home/csoliver/
 SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
 sage-4.4.1/local/lib/libmpfr.so /home/csoliver/SAT-Algorithmen/
 OKplatform/ExternalSources/Installations/Sage/sage-4.4.1/local/lib/
 libgmp.so -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2 -L/usr/
 local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/../../../../x86_64-
 unknown-linux-gnu/lib -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/
 4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /usr/local/
 lib/../lib/libstdc++.so -lm -lc -lgcc_s /usr/local/lib/gcc/x86_64-
 unknown-linux-gnu/4.1.2/crtendS.o /usr/lib/../lib64/crtn.o  -Wl,-
 soname -Wl,libfplll.so.0 -o .libs/libfplll.so.0.1.0
 /usr/local/lib/../lib/libstdc++.so: could not read symbols: File in
 wrong format
 collect2: ld returned 1 exit status
 make[4]: *** [libfplll.la] Error 1
 make[4]: Leaving directory `/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/spkg/build/
 libfplll-3.0.12.p0/src'

 Does anyone have any idea if I am doing something wrong, or whether
 this is a possible problem with Sage itself?

 Thanks!

 Matthew

 --
 To post to this group, send an email to sage-devel@googlegroups.com
 To unsubscribe from this group, send an email to 
 sage-devel+unsubscr...@googlegroups.com
 For more options, visit this group athttp://groups.google.com/group/sage-devel
 URL:http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-05-24 Thread kcrisman


On May 24, 9:11 am, kcrisman kcris...@gmail.com wrote:
 Dear Matthew,

 Thanks for your report.  I know I can't answer your question fully :)
 but I can say that the most likely way to receive more specific info
 is to also post your OS, chip type if known, and any other info.

 One reason I say this might be relevant is the following I found doing
 a quick Google search for your error message, 
 athttp://ugweb.cs.ualberta.ca/~rod/tutorials/error_messagesC.html:

  If you compile part of a
 project on one type of architecture and then try to compile the rest
 of the
 project on another type of architecture, when you go to make the final
 executable the linker/loader will NOT be able to read one of the parts
 of the
 project .o files to create an executable, thus the
 could not read symbols: File in wrong format error message.

 I'm not saying that's what the problem is, but information about your
 physical computer and its system will help enormously in tracking this
 down, especially if others have also experienced it.


One more possible piece of useful info - any 32 versus 64 bit info you
may have.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Problems building Sage 4.4.1

2010-05-24 Thread leif
On 24 Mai, 14:45, Matthew Gwynne mathew.gwy...@gmail.com wrote:
 When building Sage 4.4.1, I (and also my colleague) get the following
 errors during the build process -

 /bin/sh ./libtool --tag=CXX --mode=link g++  -fPIC -I/home/csoliver/
 SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
 sage-4.4.1/local/include/ -L/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib   -o
 libfplll.la -rpath /home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib -version-info
 1:0:1 dummy.lo -lgmp -lmpfr -lmpfr -lgmp -lmpfr -lgmp
 g++ -shared -nostdlib /usr/lib/../lib64/crti.o /usr/local/lib/gcc/
 x86_64-unknown-linux-gnu/4.1.2/crtbeginS.o  .libs/dummy.o  -Wl,--rpath
 -Wl,/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/
 Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -Wl,/usr/local/
 lib/../lib -Wl,--rpath -Wl,/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -
 Wl,/usr/local/lib/../lib -L/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/local/lib /home/csoliver/
 SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
 sage-4.4.1/local/lib/libmpfr.so /home/csoliver/SAT-Algorithmen/
 OKplatform/ExternalSources/Installations/Sage/sage-4.4.1/local/lib/
 libgmp.so -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2 -L/usr/
 local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/../../../../x86_64-
 unknown-linux-gnu/lib -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/
 4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /usr/local/
 lib/../lib/libstdc++.so -lm -lc -lgcc_s /usr/local/lib/gcc/x86_64-
 unknown-linux-gnu/4.1.2/crtendS.o /usr/lib/../lib64/crtn.o  -Wl,-
 soname -Wl,libfplll.so.0 -o .libs/libfplll.so.0.1.0
 /usr/local/lib/../lib/libstdc++.so: could not read symbols: File in
 wrong format
 collect2: ld returned 1 exit status
 make[4]: *** [libfplll.la] Error 1
 make[4]: Leaving directory `/home/csoliver/SAT-Algorithmen/OKplatform/
 ExternalSources/Installations/Sage/sage-4.4.1/spkg/build/
 libfplll-3.0.12.p0/src'

 Does anyone have any idea if I am doing something wrong, or whether
 this is a possible problem with Sage itself?

Looks like the (fairly old) gcc/g++ in /usr/local is misconfigured; it
definitely tries to link a 64-bit (x86_64) C++ program against the 32-
bit libstdc++.so (in /usr/local/lib) instead of the 64-bit version in /
usr/local/lib64. (Actually it is forced to do so by libtool.)

-Leif

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Problems building Sage 4.4.1

2010-05-24 Thread Dr. David Kirkby

On 05/24/10 05:26 PM, leif wrote:

On 24 Mai, 14:45, Matthew Gwynnemathew.gwy...@gmail.com  wrote:

When building Sage 4.4.1, I (and also my colleague) get the following
errors during the build process -

/bin/sh ./libtool --tag=CXX --mode=link g++  -fPIC -I/home/csoliver/
SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
sage-4.4.1/local/include/ -L/home/csoliver/SAT-Algorithmen/OKplatform/
ExternalSources/Installations/Sage/sage-4.4.1/local/lib   -o
libfplll.la -rpath /home/csoliver/SAT-Algorithmen/OKplatform/
ExternalSources/Installations/Sage/sage-4.4.1/local/lib -version-info
1:0:1 dummy.lo -lgmp -lmpfr -lmpfr -lgmp -lmpfr -lgmp
g++ -shared -nostdlib /usr/lib/../lib64/crti.o /usr/local/lib/gcc/
x86_64-unknown-linux-gnu/4.1.2/crtbeginS.o  .libs/dummy.o  -Wl,--rpath
-Wl,/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/
Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -Wl,/usr/local/
lib/../lib -Wl,--rpath -Wl,/home/csoliver/SAT-Algorithmen/OKplatform/
ExternalSources/Installations/Sage/sage-4.4.1/local/lib -Wl,--rpath -
Wl,/usr/local/lib/../lib -L/home/csoliver/SAT-Algorithmen/OKplatform/
ExternalSources/Installations/Sage/sage-4.4.1/local/lib /home/csoliver/
SAT-Algorithmen/OKplatform/ExternalSources/Installations/Sage/
sage-4.4.1/local/lib/libmpfr.so /home/csoliver/SAT-Algorithmen/
OKplatform/ExternalSources/Installations/Sage/sage-4.4.1/local/lib/
libgmp.so -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2 -L/usr/
local/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/../../../../x86_64-
unknown-linux-gnu/lib -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/
4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /usr/local/
lib/../lib/libstdc++.so -lm -lc -lgcc_s /usr/local/lib/gcc/x86_64-
unknown-linux-gnu/4.1.2/crtendS.o /usr/lib/../lib64/crtn.o  -Wl,-
soname -Wl,libfplll.so.0 -o .libs/libfplll.so.0.1.0
/usr/local/lib/../lib/libstdc++.so: could not read symbols: File in
wrong format
collect2: ld returned 1 exit status
make[4]: *** [libfplll.la] Error 1
make[4]: Leaving directory `/home/csoliver/SAT-Algorithmen/OKplatform/
ExternalSources/Installations/Sage/sage-4.4.1/spkg/build/
libfplll-3.0.12.p0/src'

Does anyone have any idea if I am doing something wrong, or whether
this is a possible problem with Sage itself?


Looks like the (fairly old) gcc/g++ in /usr/local is misconfigured; it
definitely tries to link a 64-bit (x86_64) C++ program against the 32-
bit libstdc++.so (in /usr/local/lib) instead of the 64-bit version in /
usr/local/lib64. (Actually it is forced to do so by libtool.)

-Leif



I'm not so convinced this failure with 'libfplll' is a gcc problem, but rather 
it is a 'libfplll' problem.


I'm seeing the exact same issue with 'libfplll' on OpenSolaris.

http://trac.sagemath.org/sage_trac/ticket/7864

The fact the original poster, his colleague and myself are all seeing this, 
suggests to me that perhaps libfplll may be at fault in trying to link 64-bit 
objects to 32-bit libstdc++


Other parts of the Sage build process are correctly using the 64-bit version of 
libstdc++.so on my OpenSolaris box - see for example this line.


g++ -shared -nostdlib  /usr/lib/amd64/crti.o /usr/lib/amd64/values-Xa.o 
/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/amd64/crtbegin.o 
.libs/dummy.o cxx/.libs/isfuns.o cxx/.libs/ismpf.o cxx/.libs/ismpq.o 
cxx/.libs/ismpz.o cxx/.libs/ismpznw.o cxx/.libs/osdoprnti.o cxx/.libs/osfuns.o 
cxx/.libs/osmpf.o cxx/.libs/osmpq.o cxx/.libs/osmpz.o  -Wl,-R 
-Wl,/export/home/drkirkby/sage-4.4.2/spkg/build/mpir-1.2.2.p1/src/.libs -Wl,-R 
-Wl,/usr/local/gcc-4.4.4/lib/amd64 -Wl,-R 
-Wl,/export/home/drkirkby/sage-4.4.2/local/lib -Wl,-R 
-Wl,/usr/local/gcc-4.4.4/lib/amd64 ./.libs/libgmp.so 
-L/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/amd64 
-L/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../amd64 
-L/lib/amd64 -L/usr/lib/amd64 -L/export/home/drkirkby/sage-4.4.2/local/lib 
-L/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4 
-L/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../.. 
/usr/local/gcc-4.4.4/lib/amd64/libstdc++.so -lm -lgcc_s 
/usr/local/gcc-4.4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/amd64/crtend.o 
/usr/lib/amd64/crtn.o  -m64 -march=core2 -mtune=core2 -Wl,-h -Wl,libgmpxx.so.3 
-o .libs/libgmpxx.so.3.1.6


where you can see that the 64-bit /usr/local/gcc-4.4.4/lib/amd64/libstdc++.so 
library is used, not the 32-bit library at /usr/local/gcc-4.4.4/lib/libstdc++.so


So some parts of the Sage build process manage to work out that the 64-bit 
library should be used, but libfplll does not.


I've found a similar issue with pynac. It would be intersting what the original 
poster gets if he runs:


$ ./sage -f pynac-0.1.12 (or it might need to be)
$ ./sage -f pynac-0.1.11

I would not be surprised if he sees the same problem.

Dave


--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more