Installation of Sage on a Suse 11.0 (x64) system failing

51 views
Skip to first unread message

Matthew Gwynne

unread,
Dec 6, 2010, 6:13:00 AM12/6/10
to sage-...@googlegroups.com
Hi,

We are trying to build Sage on a 64-bit OpenSuse 11.0 machine and am
getting the following error -

gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision
135036] (SUSE Linux)
****************************************************
Building a 32-bit version of Readline

Deleting old readline headers and libs
OpenSuSE detected
OpenSuSE 11 detected
The development version of libreadline is installed -> copying
cp: cannot stat `/lib64/libreadline.so.6*': No such file or directory
Error copying the system's libreadline

sys 0m0.028s
sage: An error occurred while installing readline-6.0.p4


despite the fact that readline is installed and Sage suggests it is
installing it. Am I missing something? Has anyone seen this before?

Also, when posting such things to the list, is there a simple guide
somewhere of what information to provide? Perhaps a command one can
run in Sage or the build environment to get certain debug information?

Thanks in advance!

Matthew Gwynne

Message has been deleted

Jeroen Demeyer

unread,
Dec 6, 2010, 8:55:51 AM12/6/10
to sage-...@googlegroups.com
On 2010-12-06 12:13, Matthew Gwynne wrote:
> Hi,
>
> We are trying to build Sage on a 64-bit OpenSuse 11.0 machine and am
> getting the following error -

Can you try the development version of Sage at
http://sage.math.washington.edu/home/release/sage-4.6.1.alpha3/sage-4.6.1.alpha3.tar
and report back on whether or not this install was successful?

Thanks,
Jeroen.

Koen van de Sande

unread,
Dec 13, 2010, 7:05:51 AM12/13/10
to sage-devel
I think I know what the problem is - I tried it on OpenSUSE 11.1.
There, the system readline is a version 5 - not a version .6
The special casing in the spkg-install is causing problems for
OpenSUSE 11.0/11.1: it should not be used at all there. When I remove
it from the spkg-install, sage compiles on 11.1. Apparently, it is
only needed for OpenSUSE 11.2 (and probably also 11.3)?
Below some of the details for 11.1/11.2
---
cat /etc/SuSE-release
openSUSE 11.1 (x86_64)
VERSION = 11.1

ldd /bin/bash
linux-vdso.so.1 => (0x00007fff5ffe9000)
libreadline.so.5 => /lib64/libreadline.so.5
(0x00007f0e58d92000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0e58b8e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0e58835000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f0e585ed000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0e58fd4000)
---
cat /etc/SuSE-release
openSUSE 11.2 (x86_64)
VERSION = 11.2
ldd /bin/bash
linux-vdso.so.1 => (0x00007fff3ac67000)
libreadline.so.6 => /lib64/libreadline.so.6
(0x00007f51d91c2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f51d8fbe000)
libc.so.6 => /lib64/libc.so.6 (0x00007f51d8c63000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f51d8a1c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f51d9407000)


Koen

On Dec 6, 2:55 pm, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
> On 2010-12-06 12:13, Matthew Gwynne wrote:
>
> > Hi,
>
> > We are trying to build Sage on a 64-bit OpenSuse 11.0 machine and am
> > getting the following error -
>
> Can you try the development version of Sage athttp://sage.math.washington.edu/home/release/sage-4.6.1.alpha3/sage-4...

leif

unread,
Dec 13, 2010, 9:52:35 AM12/13/10
to sage-devel
On 13 Dez., 13:05, Koen van de Sande <koenvandesa...@gmail.com> wrote:
> I think I know what the problem is - I tried it on OpenSUSE 11.1.
> There, the system readline is a version 5 - not a version .6
> The special casing in the spkg-install is causing problems for
> OpenSUSE 11.0/11.1: it should not be used at all there. When I remove
> it from the spkg-install, sage compiles on 11.1. Apparently, it is
> only needed for OpenSUSE 11.2 (and probably also 11.3)?
> Below some of the details for 11.1/11.2

A work-around is to set RPATH (or RUNPATH) of /bin/bash (with
chrpath).

It's IMHO a pretty bad design decision to potentially let bash fail in
such trivial cases, i.e. an "unsane" LD_LIBRARY_PATH setting.


-Leif

Volker Braun

unread,
Dec 13, 2010, 10:46:36 AM12/13/10
to sage-...@googlegroups.com
100% agree. Another screwy behaviour that will cause grief some day is that gcc uses Sage's libgmp. Also, some of the Sage binaries do have an RPATH set. But it will not be corrected if you move the install tree / install a bdist version.

I think that the sane version (on Linux) would be to 
  * write a gcc compiler wrapper that always sets RPATH 
  * get rid of LD_LIBRARY_PATH
  * bundle a version of patchelf with the compiler wrapper to rewrite the RPATH if the install tree gets modified.

This should also work similarly on Solaris, and probably OSX. 

leif

unread,
Dec 13, 2010, 2:51:20 PM12/13/10
to sage-devel
On 13 Dez., 16:46, Volker Braun <vbraun.n...@gmail.com> wrote:
> 100% agree. Another screwy behaviour that will cause grief some day is
> that gcc uses Sage's libgmp.

... and MPFR, and in the near future also Sage's (upcoming) MPC and
PPL.

That already disturbed me more than once, too, and causes "unrelated"
errors if e.g. some of these (Sage's) libraries in turn refer to a
then non-existent (deleted) version of another library.

export CC="env LD_LIBRARY_PATH=... gcc" # ;-)


> Also, some of the Sage binaries do have an
> RPATH set. But it will not be corrected if you move the install tree /
> install a bdist version.

:-) That's a long lasting problem... (and btw. also causes security
issues)


> I think that the sane version (on Linux) would be to
> * write a gcc compiler wrapper that always sets RPATH
> * get rid of LD_LIBRARY_PATH
> * bundle a version of patchelf with the compiler wrapper to rewrite the
> RPATH if the install tree gets modified.

I just noticed chrpath (at least my version) is unable to *create* an
RPATH or RUNPATH attribute.

Another option (not [yet] very portable I think) is to use variables
in RPATH / RUNPATH.


> This should also work similarly on Solaris, and probably OSX.

Doesn't look like patchelf already works on Solaris, but maybe it
does.
I was actually a while ago going to write my own ELF tool... (perhaps
using libelf, or the BFD library to be more generic).

Does MacOS X use ELF??


-Leif
Reply all
Reply to author
Forward
0 new messages