I am hitting problems making the sage package version 4.7.1 on the
above named system.

The first problem which I hit was a readline problem for the R
library.

While the sage installer was running configure for the R library
package it answered the following -

checking for readline/readline.h... yes
checking for rl_callback_read_char in -lreadline... no

and things soon quit after that with an error.

I added some debugging statements in the configure file, in order to
try to find out what was going wrong and found that there was indeed a
difference, when running make in the SAGE environment, versus running
make in the normal linux environment.

Running in the SAGE environment, the configure file shows

checking for readline/readline.h... yes
checking for rl_callback_read_char in -lreadline...
failed here line 21665 conftest.c
ac_c_werror_flag = ||
conftest.err file:
-rw-r--r-- 1 root root 765 Oct  3 09:14 conftest.err
--------------------------------------------------------------------------
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tputs'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tgoto'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tgetflag'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `UP'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tgetent'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tgetnum'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `PC'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `tgetstr'
/root/sage-4.7.1/local/lib/../lib/libreadline.so: undefined reference
to `BC'
collect2: ld returned 1 exit status
--------------------------------------------------------------------------
conftest file:
ls: cannot access conftest: No such file or directory
value of as_text_x |test -x|
no

So there are undefined references hanging here, when referencing to
the local Sage library in /local/lib

A good configure run displays

checking for readline/readline.h... yes
checking for rl_callback_read_char in -lreadline... success here line
21657 conftest.c
ac_link = |$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS
conftest.$ac_ext $LIBS >&5|
ac_c_werror_flag = ||
conftest.err file:
-rw-r--r-- 1 root root 0 Oct  3 09:12 conftest.err
conftest file:
-rwxr-xr-x 1 root root 9528 Oct  3 09:12 conftest
value of as_text_x |test -x|
yes

so the conftest.err file is empty, no errors indicated.

I took the time to read some of the posts about readline problems and
adopted William Stein's temporary fix, of making the libreadline
libraries invisible in the local/lib area, and recompiling.  This
indeed fixed the problem and so the Sage installer now did
successfully install the R library package and continued on with
several other packages.

However I now have hit a problem with the Singular install that I
don't think will be solved as easily.

While running make under the SAGE environment, a snag is hit -

../kernel/libkernel.a(mod_raw.o): In function `dynl_open':
/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12/src/kernel/mod_raw.cc:
217: undefined reference to `dlopen'
../kernel/libkernel.a(mod_raw.o): In function `dynl_sym':
/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12/src/kernel/mod_raw.cc:
228: undefined reference to `dlsym'
../kernel/libkernel.a(mod_raw.o): In function `dynl_close':
/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12/src/kernel/mod_raw.cc:
233: undefined reference to `dlclose'
../kernel/libkernel.a(mod_raw.o): In function `dynl_error':
/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12/src/kernel/mod_raw.cc:
238: undefined reference to `dlerror'
collect2: ld returned 1 exit status
make[4]: *** [iparith.inc] Error 1
make[4]: Leaving directory `/root/sage-4.7.1/spkg/build/
singular-3-1-1-4.p12/src/Singular'
make[3]: *** [install] Error 1
make[3]: Leaving directory `/root/sage-4.7.1/spkg/build/
singular-3-1-1-4.p12/src'
make[2]: *** [/root/sage-4.7.1/local/bin/Singular-3-1-1] Error 2
make[2]: Leaving directory `/root/sage-4.7.1/spkg/build/
singular-3-1-1-4.p12/src'
Unable to build Singular.

real    5m40.579s
user    5m28.657s
sys     0m13.977s
sage: An error occurred while installing singular-3-1-1-4.p12
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /root/sage-4.7.1/install.log.  Describe your computer, operating
system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12 and type 'make check'
or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
(cd '/root/sage-4.7.1/spkg/build/singular-3-1-1-4.p12' && '/root/
sage-4.7.1/sage' -sh)
When you are done debugging, you can type "exit" to leave the
subshell.
make[1]: *** [installed/singular-3-1-1-4.p12] Error 1
make[1]: Leaving directory `/root/sage-4.7.1/spkg'

real    5m43.153s
user    5m31.181s
sys     0m14.177s
Error building Sage.
make: *** [build] Error 1

This error is puzzling to me, because the make_raw.cc package
specifically provides "dlopen" "dlsym" "dlclose" and "dlerror"
function definitions, although it seems that this package does make a
call to the currently installed libdl.a package on the user's system
and has to use the header file "ldfcn.h".  I did find 2 libdl
libraries under the usr folder, but not in the normal custom place of /
usr/lib or /usr/local/lib so perhaps there might be a library path
problem?

I did drop the two static libdl libraries into the local SAGE library
folder, hoping that this might fix the linker problem, but to no
avail.

Whether I try to compile singular inside the SAGE environment, or the
normal linux environment, it still fails, hinting that something might
actually be wrong with the Singular kernel code itself, not with the
Sage installer.

There are not too many Sage packages left to build, the ATLAS library
build took a long time, so I would like to continue on if possible and
obtain a partially working Sage package on the Colfax HPC, if
possible.

SIDENOTE:

For the most part, running make with the -j flag for parallel
compiling sped up the Sage install immensely, and if a particular
package defaulted, I could rerun "make -j" again and usually get
around the bug.  However I did notice that ATLAS had to be built in
the single threaded mode, since it runs timing tests periodically, and
running a parallel compile messed this up and broke the ATLAS library
compile, so I was forced to compile that library in single proc mode
to get it successfully to build and then build the subsequent packages
depending upon it.

I would appreciate any comments on how to fix the Singular build
problem, or how to bypass it and continue on with the few remaining
packages, so that I can get a mostly function sage executable.

Thanks!

Randall

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

Reply via email to