[sage-devel] Sage 4.4.1 build failures with gcc 4.4.1 on SUSE 11.2

64 views
Skip to first unread message

Paul Leopardi

unread,
May 16, 2010, 2:01:00 AM5/16/10
to sage-...@googlegroups.com
Hi all,
I am trying to build Sage 4.4.1 from sourece, using gcc 4.4.1 on SUSE 11.2.
So far I have had two failures. I can work around the first, but have no clue
about the second.
Best, Paul

1. Problem with libreadline
Symptom:
[...]/local/lib/libreadline.so.6: undefined symbol: PC

Workaround:
Try to use native librealine.
leopardi@linfinit:~/src/sage/sage-4.4.1> ls -l local/lib/libread*
lrwxrwxrwx 1 leopardi users 24 2010-05-16 12:37 local/lib/libreadline.a ->
/usr/lib64/libreadline.a
lrwxrwxrwx 1 leopardi users 16 2010-05-16 12:33 local/lib/libreadline.so ->
libreadline.so.6
lrwxrwxrwx 1 leopardi users 18 2010-05-16 12:35 local/lib/libreadline.so.6 ->
libreadline.so.6.0
lrwxrwxrwx 1 leopardi users 25 2010-05-16 12:36 local/lib/libreadline.so.6.0 -
> /lib64/libreadline.so.6.0

2. Problem with symmetrica
Symptom:
/bin/bash: symbol lookup error:
[...]/spkg/build/symmetrica-2.0.p5/src/nb.c:4087: undefined reference to `cos'

Workaround:
???

Extracts from install.log:

1. Problem with libreadline

Host system
uname -a:
Linux linfinit 2.6.31.12-0.1-default #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --
mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-
languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --
with-gxx-include-dir=/usr/include/c++/4.4 --enable-ssp --disable-libssp --
with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --
disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.4 --enable-linux-
futex --without-system-libunwind --with-arch-32=i586 --with-tune=generic --
build=x86_64-suse-linux
Thread model: posix
gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
****************************************************
Building a 32-bit version of Readline
Code will be built with debugging information present. Set 'SAGE_DEBUG' to
'no' if you don't want that.
No Fortran compiler has been defined. This is not normally a problem.
Using CC=gcc
Using CXX=g++
Using FC=
Using F77=
Using SAGE_FORTRAN=
Using SAGE_FORTRAN_LIB=
The following environment variables will be exported.
Using CFLAGS= -O2 -g -Wall
Using CXXFLAGS= -O2 -g -Wall
Using FCFLAGS= -O2 -g -Wall
Using F77FLAGS= -O2 -g -Wall
Using CPPFLAGS=
Using LDFLAGS=
Using ABI=
configure scripts and/or makefiles might override these later

Deleting old readline headers and libs
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu

Beginning configuration for readline-6.0 for x86_64-unknown-linux-gnu

checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc needs -traditional... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for ar... ar
checking for ranlib... ranlib
checking for an ANSI C-conforming const... yes
checking for function prototypes... yes
checking whether char is unsigned... no
checking for working volatile... yes
checking return type of signal handlers... void
checking for size_t... yes
checking for ssize_t... yes
checking for ANSI C header files... (cached) yes
checking whether stat file-mode macros are broken... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for fcntl... yes
checking for kill... yes
checking for lstat... yes
checking for memmove... yes
checking for putenv... yes
checking for select... yes
checking for setenv... yes
checking for setlocale... yes
checking for strcasecmp... yes
checking for strpbrk... yes
checking for tcgetattr... yes
checking for vsnprintf... yes
checking for isascii... yes
checking for isxdigit... yes
checking for getpwent... yes
checking for getpwnam... yes
checking for getpwuid... yes
checking for working strcoll... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking for stdlib.h... (cached) yes
checking varargs.h usability... no
checking varargs.h presence... no
checking for varargs.h... no
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking for memory.h... (cached) yes
checking termcap.h usability... yes
checking termcap.h presence... yes
checking for termcap.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking sys/pte.h usability... no
checking sys/pte.h presence... no
checking for sys/pte.h... no
checking sys/stream.h usability... no
checking sys/stream.h presence... no
checking for sys/stream.h... no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking for sys/ptem.h... no
checking for type of signal functions... posix
checking if signal handlers must be reinstalled when invoked... no
checking for presence of POSIX-style sigsetjmp/siglongjmp... present
checking for lstat... yes
checking whether or not strcoll and strcmp differ... no
checking whether the ctype macros accept non-ascii characters... yes
checking whether getpw functions are declared in pwd.h... yes
checking whether termios.h defines TIOCGWINSZ... no
checking whether sys/ioctl.h defines TIOCGWINSZ... yes
checking for sig_atomic_t in signal.h... yes
checking whether signal handlers are of type void... yes
checking for TIOCSTAT in sys/ioctl.h... no
checking for FIONREAD in sys/ioctl.h... yes
checking for speed_t in sys/types.h... no
checking for struct winsize in sys/ioctl.h and termios.h... sys/ioctl.h
checking for struct dirent.d_ino... yes
checking for struct dirent.d_fileno... yes
checking for tgetent... no
checking for tgetent in -ltermcap... yes
checking which library has the termcap functions... using libtermcap
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking for mbrlen... yes
checking for mbscmp... no
checking for mbsrtowcs... yes
checking for wcrtomb... yes
checking for wcscoll... yes
checking for wcsdup... yes
checking for wcwidth... yes
checking for wctype... yes
checking whether mbrtowc and mbstate_t are properly declared... yes
checking for iswlower... yes
checking for iswupper... yes
checking for towlower... yes
checking for towupper... yes
checking for iswctype... yes
checking for nl_langinfo and CODESET... yes
checking for wchar_t in wchar.h... yes
checking for wctype_t in wctype.h... yes
checking for wint_t in wctype.h... yes
checking configuration for building shared libraries... supported
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating examples/Makefile
config.status: creating shlib/Makefile
config.status: creating config.h
config.status: executing default commands
make[2]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src'
/bin/sh ./support/mkinstalldirs
/home/leopardi/src/sage/sage-4.4.1/local/include \
/home/leopardi/src/sage/sage-4.4.1/local/include/readline
/home/leopardi/src/sage/sage-4.4.1/local/lib \
/home/leopardi/src/sage/sage-4.4.1/local/share/info
/home/leopardi/src/sage/sage-4.4.1/local/share/man/man3
mkdir -p -- /home/leopardi/src/sage/sage-4.4.1/local/include/readline
/home/leopardi/src/sage/sage-4.4.1/local/lib
/home/leopardi/src/sage/sage-4.4.1/local/share/info
/home/leopardi/src/sage/sage-4.4.1/local/share/man/man3
rm -f readline.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
readline.c
readline.c:1112: warning: ‘reset_default_bindings’ defined but not used
rm -f vi_mode.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
vi_mode.c
rm -f funmap.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
funmap.c
rm -f keymaps.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
keymaps.c
rm -f parens.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
parens.c
rm -f search.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
search.c
search.c: In function ‘_rl_nsearch_init’:
search.c:213: warning: too many arguments for format
rm -f rltty.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
rltty.c
rm -f complete.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
complete.c
complete.c: In function ‘fnwidth’:
complete.c:643: warning: implicit declaration of function ‘wcwidth’
complete.c: In function ‘_rl_find_completion_word’:
complete.c:945: warning: suggest parentheses around assignment used as truth
value
complete.c: In function ‘rl_completion_matches’:
complete.c:1887: warning: suggest parentheses around assignment used as truth
value
complete.c: In function ‘rl_username_completion_function’:
complete.c:1939: warning: suggest parentheses around assignment used as truth
value
rm -f bind.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
bind.c
bind.c: In function ‘rl_translate_keyseq’:
bind.c:444: warning: suggest parentheses around assignment used as truth value
bind.c: In function ‘rl_parse_and_bind’:
bind.c:1190: warning: suggest parentheses around assignment used as truth
value
bind.c:1281: warning: suggest parentheses around assignment used as truth
value
bind.c: In function ‘rl_function_dumper’:
bind.c:2090: warning: suggest parentheses around assignment used as truth
value
bind.c: In function ‘rl_generic_bind’:
bind.c:341: warning: ‘k.type’ may be used uninitialized in this function
bind.c: In function ‘_rl_read_init_file’:
bind.c:860: warning: ‘file_size’ may be used uninitialized in this function
rm -f isearch.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
isearch.c
rm -f display.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
display.c
display.c: In function ‘rl_redisplay’:
display.c:762: warning: implicit declaration of function ‘wcwidth’
display.c:499: warning: ‘n0’ may be used uninitialized in this function
display.c:504: warning: ‘wc_width’ may be used uninitialized in this function
rm -f signals.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
signals.c
rm -f util.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
util.c
util.c: In function ‘_rl_tropen’:
util.c:489: warning: format ‘%ld’ expects type ‘long int’, but argument 3 has
type ‘__pid_t’
rm -f kill.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
kill.c
rm -f undo.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
undo.c
undo.c: In function ‘_rl_copy_undo_list’:
undo.c:140: warning: ‘roving’ may be used uninitialized in this function
rm -f macro.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
macro.c
rm -f input.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
input.c
input.c: In function ‘rl_read_key’:
input.c:432: warning: suggest parentheses around assignment used as truth
value
rm -f callback.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
callback.c
rm -f terminal.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
terminal.c
rm -f text.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
text.c
rm -f nls.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
nls.c
rm -f misc.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
misc.c
misc.c: In function ‘_rl_revert_all_lines’:
misc.c:456: warning: suggest parentheses around assignment used as truth value
rm -f compat.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
compat.c
rm -f xmalloc.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
xmalloc.c
rm -f history.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
history.c
rm -f histexpand.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
histexpand.c
histexpand.c: In function ‘get_history_event’:
histexpand.c:207: warning: suggest parentheses around assignment used as truth
value
rm -f histfile.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
histfile.c
rm -f histsearch.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
histsearch.c
rm -f shell.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
shell.c
rm -f mbutil.o
gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall
mbutil.c
mbutil.c: In function ‘_rl_find_next_mbchar_internal’:
mbutil.c:119: warning: implicit declaration of function ‘wcwidth’
rm -f tilde.o
gcc -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g -Wall -
DREADLINE_LIBRARY -c ./tilde.c
./tilde.c: In function ‘tilde_expand’:
./tilde.c:199: warning: suggest parentheses around assignment used as truth
value
rm -f libreadline.a
ar cr libreadline.a readline.o vi_mode.o funmap.o keymaps.o parens.o search.o
rltty.o complete.o bind.o isearch.o display.o signals.o util.o kill.o undo.o
macro.o input.o callback.o terminal.o text.o nls.o misc.o compat.o xmalloc.o
history.o histexpand.o histfile.o histsearch.o shell.o mbutil.o tilde.o
test -n "ranlib" && ranlib libreadline.a
rm -f libhistory.a
ar cr libhistory.a history.o histexpand.o histfile.o histsearch.o shell.o
mbutil.o xmalloc.o
test -n "ranlib" && ranlib libhistory.a
for f in readline.h chardefs.h keymaps.h history.h tilde.h rlstdc.h rlconf.h
rltypedefs.h; do \
/usr/bin/install -c -m 644 ./$f
/home/leopardi/src/sage/sage-4.4.1/local/include/readline ; \
done
( if test -d doc ; then \
cd doc && \
make -w infodir=/home/leopardi/src/sage/sage-4.4.1/local/share/info
DESTDIR= install; \
fi )
make[3]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/doc'
/bin/sh ../support/mkdirs /home/leopardi/src/sage/sage-4.4.1/local/share/info
/home/leopardi/src/sage/sage-4.4.1/local/share/man/man3
if test -n "" ; then \
/bin/sh ../support/mkdirs ; \
fi
if test -f readline.info; then \
/usr/bin/install -c -m 644 readline.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/readline.info; \
else \
/usr/bin/install -c -m 644 ./readline.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/readline.info; \
fi
if test -f rluserman.info; then \
/usr/bin/install -c -m 644 rluserman.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/rluserman.info; \
else \
/usr/bin/install -c -m 644 ./rluserman.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/rluserman.info; \
fi
if test -f history.info; then \
/usr/bin/install -c -m 644 history.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/history.info; \
else \
/usr/bin/install -c -m 644 ./history.info
/home/leopardi/src/sage/sage-4.4.1/local/share/info/history.info; \
fi
if /bin/sh -c 'install-info --version' >/dev/null 2>&1; then \
install-info --dir-
file=/home/leopardi/src/sage/sage-4.4.1/local/share/info/dir \
/home/leopardi/src/sage/sage-4.4.1/local/share/info/readline.info ; \
install-info --dir-
file=/home/leopardi/src/sage/sage-4.4.1/local/share/info/dir \
/home/leopardi/src/sage/sage-4.4.1/local/share/info/history.info ; \
install-info --dir-
file=/home/leopardi/src/sage/sage-4.4.1/local/share/info/dir \
/home/leopardi/src/sage/sage-4.4.1/local/share/info/rluserman.info ; \
else true; fi
/usr/bin/install -c -m 644 ./readline.3
/home/leopardi/src/sage/sage-4.4.1/local/share/man/man3/readline.3
/usr/bin/install -c -m 644 ./history.3
/home/leopardi/src/sage/sage-4.4.1/local/share/man/man3/history.3
if test -n "" ; then \
if test -f readline.html; then \
/usr/bin/install -c -m 644 readline.html /readline.html; \
else \
/usr/bin/install -c -m 644 ./readline.html /readline.html; \
fi ; \
if test -f history.html; then \
/usr/bin/install -c -m 644 history.html /history.html; \
else \
/usr/bin/install -c -m 644 ./history.html /history.html; \
fi ; \
if test -f rluserman.html; then \
/usr/bin/install -c -m 644 rluserman.html /rluserman.html; \
else \
/usr/bin/install -c -m 644 ./rluserman.html /rluserman.html; \
fi ; \
fi
make[3]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/doc'
test -d shlib || mkdir shlib
( cd shlib ; make -w all )
make[3]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/shlib'
rm -f readline.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o readline.o ../readline.c
../readline.c:1112: warning: ‘reset_default_bindings’ defined but not used
mv readline.o readline.so
rm -f vi_mode.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o vi_mode.o ../vi_mode.c
mv vi_mode.o vi_mode.so
rm -f funmap.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o funmap.o ../funmap.c
mv funmap.o funmap.so
rm -f keymaps.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o keymaps.o ../keymaps.c
mv keymaps.o keymaps.so
rm -f parens.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o parens.o ../parens.c
mv parens.o parens.so
rm -f search.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o search.o ../search.c
../search.c: In function ‘_rl_nsearch_init’:
../search.c:213: warning: too many arguments for format
mv search.o search.so
rm -f rltty.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o rltty.o ../rltty.c
mv rltty.o rltty.so
rm -f complete.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o complete.o ../complete.c
../complete.c: In function ‘fnwidth’:
../complete.c:643: warning: implicit declaration of function ‘wcwidth’
../complete.c: In function ‘_rl_find_completion_word’:
../complete.c:945: warning: suggest parentheses around assignment used as
truth value
../complete.c: In function ‘rl_completion_matches’:
../complete.c:1887: warning: suggest parentheses around assignment used as
truth value
../complete.c: In function ‘rl_username_completion_function’:
../complete.c:1939: warning: suggest parentheses around assignment used as
truth value
mv complete.o complete.so
rm -f bind.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o bind.o ../bind.c
../bind.c: In function ‘rl_translate_keyseq’:
../bind.c:444: warning: suggest parentheses around assignment used as truth
value
../bind.c: In function ‘rl_parse_and_bind’:
../bind.c:1190: warning: suggest parentheses around assignment used as truth
value
../bind.c:1281: warning: suggest parentheses around assignment used as truth
value
../bind.c: In function ‘rl_function_dumper’:
../bind.c:2090: warning: suggest parentheses around assignment used as truth
value
../bind.c: In function ‘rl_generic_bind’:
../bind.c:341: warning: ‘k.type’ may be used uninitialized in this function
../bind.c: In function ‘_rl_read_init_file’:
../bind.c:860: warning: ‘file_size’ may be used uninitialized in this function
mv bind.o bind.so
rm -f isearch.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o isearch.o ../isearch.c
mv isearch.o isearch.so
rm -f display.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o display.o ../display.c
../display.c: In function ‘rl_redisplay’:
../display.c:762: warning: implicit declaration of function ‘wcwidth’
../display.c:499: warning: ‘n0’ may be used uninitialized in this function
../display.c:504: warning: ‘wc_width’ may be used uninitialized in this
function
mv display.o display.so
rm -f signals.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o signals.o ../signals.c
mv signals.o signals.so
rm -f util.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o util.o ../util.c
../util.c: In function ‘_rl_tropen’:
../util.c:489: warning: format ‘%ld’ expects type ‘long int’, but argument 3
has type ‘__pid_t’
mv util.o util.so
rm -f kill.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o kill.o ../kill.c
mv kill.o kill.so
rm -f undo.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o undo.o ../undo.c
../undo.c: In function ‘_rl_copy_undo_list’:
../undo.c:140: warning: ‘roving’ may be used uninitialized in this function
mv undo.o undo.so
rm -f macro.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o macro.o ../macro.c
mv macro.o macro.so
rm -f input.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o input.o ../input.c
../input.c: In function ‘rl_read_key’:
../input.c:432: warning: suggest parentheses around assignment used as truth
value
mv input.o input.so
rm -f callback.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o callback.o ../callback.c
mv callback.o callback.so
rm -f terminal.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o terminal.o ../terminal.c
mv terminal.o terminal.so
rm -f text.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o text.o ../text.c
mv text.o text.so
rm -f nls.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o nls.o ../nls.c
mv nls.o nls.so
rm -f misc.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o misc.o ../misc.c
../misc.c: In function ‘_rl_revert_all_lines’:
../misc.c:456: warning: suggest parentheses around assignment used as truth
value
mv misc.o misc.so
rm -f xmalloc.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o xmalloc.o ../xmalloc.c
mv xmalloc.o xmalloc.so
rm -f history.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o history.o ../history.c
mv history.o history.so
rm -f histexpand.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o histexpand.o ../histexpand.c
../histexpand.c: In function ‘get_history_event’:
../histexpand.c:207: warning: suggest parentheses around assignment used as
truth value
mv histexpand.o histexpand.so
rm -f histfile.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o histfile.o ../histfile.c
mv histfile.o histfile.so
rm -f histsearch.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o histsearch.o ../histsearch.c
mv histsearch.o histsearch.so
rm -f shell.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o shell.o ../shell.c
mv shell.o shell.so
rm -f mbutil.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o mbutil.o ../mbutil.c
../mbutil.c: In function ‘_rl_find_next_mbchar_internal’:
../mbutil.c:119: warning: implicit declaration of function ‘wcwidth’
mv mbutil.o mbutil.so
rm -f tilde.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -DREADLINE_LIBRARY -c -o tilde.o ../tilde.c
../tilde.c: In function ‘tilde_expand’:
../tilde.c:199: warning: suggest parentheses around assignment used as truth
value
mv tilde.o tilde.so
rm -f compat.so
gcc -c -DHAVE_CONFIG_H -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.0"' -O2 -g
-Wall -fPIC -o compat.o ../compat.c
mv compat.o compat.so
rm -f libreadline.so.6.0
gcc -shared -Wl,-soname,libreadline.so.6.0 -Wl,-
rpath,/home/leopardi/src/sage/sage-4.4.1/local/lib -Wl,-soname,`basename
libreadline.so.6.0 .0` -o libreadline.so.6.0 readline.so vi_mode.so funmap.so
keymaps.so parens.so search.so rltty.so complete.so bind.so isearch.so
display.so signals.so util.so kill.so undo.so macro.so input.so callback.so
terminal.so text.so nls.so misc.so xmalloc.so history.so histexpand.so
histfile.so histsearch.so shell.so mbutil.so tilde.so compat.so
rm -f libhistory.so.6.0
gcc -shared -Wl,-soname,libhistory.so.6.0 -Wl,-
rpath,/home/leopardi/src/sage/sage-4.4.1/local/lib -Wl,-soname,`basename
libhistory.so.6.0 .0` -o libhistory.so.6.0 history.so histexpand.so
histfile.so histsearch.so shell.so mbutil.so xmalloc.so
make[3]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/shlib'
( cd examples ; make -w DESTDIR= install )
make[3]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/examples'
/bin/sh ../support/mkdirs
/home/leopardi/src/sage/sage-4.4.1/local/share/readline
mkdir /home/leopardi/src/sage/sage-4.4.1/local/share/readline
make[3]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/examples'
mv /home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.a
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.old
mv: cannot stat `/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.a':
No such file or directory
make[2]: [install-static] Error 1 (ignored)
/usr/bin/install -c -m 644 libreadline.a
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.a
test -n "ranlib" && ranlib
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.a
mv /home/leopardi/src/sage/sage-4.4.1/local/lib/libhistory.a
/home/leopardi/src/sage/sage-4.4.1/local/lib/libhistory.old
mv: cannot stat `/home/leopardi/src/sage/sage-4.4.1/local/lib/libhistory.a':
No such file or directory
make[2]: [install-static] Error 1 (ignored)
/usr/bin/install -c -m 644 libhistory.a
/home/leopardi/src/sage/sage-4.4.1/local/lib/libhistory.a
test -n "ranlib" && ranlib
/home/leopardi/src/sage/sage-4.4.1/local/lib/libhistory.a
( cd shlib ; make -w DESTDIR= install )
make[3]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/shlib'
/bin/sh ../support/mkdirs /home/leopardi/src/sage/sage-4.4.1/local/lib
/bin/sh ../support/shlib-install -O linux-gnu -d
/home/leopardi/src/sage/sage-4.4.1/local/lib -b
/home/leopardi/src/sage/sage-4.4.1/local/bin -i "/usr/bin/install -c -m 644"
libhistory.so.6.0
/bin/sh ../support/shlib-install -O linux-gnu -d
/home/leopardi/src/sage/sage-4.4.1/local/lib -b
/home/leopardi/src/sage/sage-4.4.1/local/bin -i "/usr/bin/install -c -m 644"
libreadline.so.6.0
install: you may need to run ldconfig
make[3]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src/shlib'
make[2]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/readline-6.0.p1/src'

real 0m37.651s
user 0m22.260s
sys 0m7.603s
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
Successfully installed readline-6.0.p1
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing readline-6.0.p1.spkg
sage-spkg sqlite-3.6.22 2>&1
Warning: Attempted to overwrite SAGE_ROOT environment variable
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
/home/leopardi/src/sage/sage-4.4.1/local/bin/sage-env: line 168: [: =: unary
operator expected
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
/home/leopardi/src/sage/sage-4.4.1/local/bin/sage-env: line 213: [: =: unary
operator expected
sqlite-3.6.22
Machine:
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
Deleting directories from past builds of previous/current versions of
sqlite-3.6.22
Extracting package
/home/leopardi/src/sage/sage-4.4.1/spkg/standard/sqlite-3.6.22.spkg ...
-rw-r--r-- 1 leopardi users 1080534 2010-03-02 01:20
/home/leopardi/src/sage/sage-4.4.1/spkg/standard/sqlite-3.6.22.spkg
sqlite-3.6.22/
[...]
Finished extraction
****************************************************
Host system
uname -a:
/bin/bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC
Unable to determine host system information.
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --
mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-
languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --
with-gxx-include-dir=/usr/include/c++/4.4 --enable-ssp --disable-libssp --
with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --
disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.4 --enable-linux-
futex --without-system-libunwind --with-arch-32=i586 --with-tune=generic --
build=x86_64-suse-linux
Thread model: posix
gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
****************************************************
bash: symbol lookup error:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
symbol: PC

real 0m0.005s
user 0m0.001s
sys 0m0.002s
sage: An error occurred while installing sqlite-3.6.22

2. Problem with symmetrica

Host system
uname -a:
Linux linfinit 2.6.31.12-0.1-default #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --
mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-
languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --
with-gxx-include-dir=/usr/include/c++/4.4 --enable-ssp --disable-libssp --
with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --
disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.4 --enable-linux-
futex --without-system-libunwind --with-arch-32=i586 --with-tune=generic --
build=x86_64-suse-linux
Thread model: posix
gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
****************************************************
make[2]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src'
[...]
mod_dg_sbd.c: In function ‘embedding_mod_into_ord’:
mod_dg_sbd.c:624: warning: passing argument 4 of ‘qsort’ from incompatible
pointer type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
[...]
gcc -c -O1 -fPIC -g -DFAST -DALLTRUE rh.c
rh.c: In function ‘copy_poly’:
rh.c:100: warning: cast from pointer to integer of different size
rh.c:103: warning: cast from pointer to integer of different size
rh.c: In function ‘copy_mon’:
rh.c:114: warning: cast from pointer to integer of different size
rh.c:117: warning: cast from pointer to integer of different size
rh.c: In function ‘copy_var’:
rh.c:128: warning: cast from pointer to integer of different size
rh.c:131: warning: cast from pointer to integer of different size
rh.c: In function ‘copy_rh’:
rh.c:140: warning: cast from pointer to integer of different size
rh.c:143: warning: cast from pointer to integer of different size
[...]
gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ta.c
ta.c: In function ‘sort_rows_tableaux_apply’:
ta.c:1445: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
[...]
gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tsh.c
tsh.c: In function ‘tsh_eval_jt’:
tsh.c:230: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
[...]
vc.c: In function ‘qsort_vector’:
vc.c:512: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
vc.c: In function ‘usersort_vector’:
vc.c:526: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
[...]
gcc -O1 -fPIC -g -DFAST -DALLTRUE -lm test.c bar.o bi.o boe.o bruch.o
classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o
list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o
mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o
nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o
pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o
rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o
thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o
tsp.o vc.o zo.o zykelind.o zyk.o -o test
nb.o: In function `convert_radical_cyclo':
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
collect2: ld returned 1 exit status
make[2]: *** [test] Error 1
make[2]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src'
Error building symmetrica.

real 11m18.893s
user 8m44.467s
sys 0m16.797s
sage: An error occurred while installing symmetrica-2.0.p5

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

Dr. David Kirkby

unread,
May 16, 2010, 6:25:54 AM5/16/10
to sage-...@googlegroups.com
On 05/16/10 07:01 AM, Paul Leopardi wrote:
> Hi all,
> I am trying to build Sage 4.4.1 from sourece, using gcc 4.4.1 on SUSE 11.2.
> So far I have had two failures. I can work around the first, but have no clue
> about the second.
> Best, Paul
>
> 1. Problem with libreadline
> Symptom:
> [...]/local/lib/libreadline.so.6: undefined symbol: PC
>
> Workaround:
> Try to use native librealine.
> leopardi@linfinit:~/src/sage/sage-4.4.1> ls -l local/lib/libread*
> lrwxrwxrwx 1 leopardi users 24 2010-05-16 12:37 local/lib/libreadline.a ->
> /usr/lib64/libreadline.a
> lrwxrwxrwx 1 leopardi users 16 2010-05-16 12:33 local/lib/libreadline.so ->
> libreadline.so.6
> lrwxrwxrwx 1 leopardi users 18 2010-05-16 12:35 local/lib/libreadline.so.6 ->
> libreadline.so.6.0
> lrwxrwxrwx 1 leopardi users 25 2010-05-16 12:36 local/lib/libreadline.so.6.0 -
>> /lib64/libreadline.so.6.0

There is something strange about readline on OpenSUSE. There some code which
does something different on OpenSUSE to other platforms. Perhaps that is not
working correctly. It looks a bit of a hack if I'm honest. I don't have time to
look at it now, but if you find the readline-$version.spkg, you will find there
is something in there which checks a header file and makes a decision based on
the header file. It may be that the test does not work on OpenSUSE 11.2.

> 2. Problem with symmetrica
> Symptom:
> /bin/bash: symbol lookup error:
> [...]/spkg/build/symmetrica-2.0.p5/src/nb.c:4087: undefined reference to `cos'
>
> Workaround:
> ???

Perhaps it needs the maths library linked, -lm, as that is where 'cos' will be.
Though that seems a strange thing to be missing.

> Extracts from install.log:
>
> 1. Problem with libreadline
>
> readline.c:1112: warning: ‘reset_default_bindings’ defined but not used

This, and the tons of other warnings worries me.

> search.c: In function ‘_rl_nsearch_init’:
> search.c:213: warning: too many arguments for format

How the hell do the developers let that get by? What the **** where they
thinking to ignore such a warning?

> complete.c: In function ‘fnwidth’:
> complete.c:643: warning: implicit declaration of function ‘wcwidth’

That probably needs

#include <wchar.h>

added to a source file.

> ../search.c: In function ‘_rl_nsearch_init’:
> ../search.c:213: warning: too many arguments for format

IMHO, it would be better if compilers would throw this as an error.

> /bin/bash: symbol lookup error:


> /home/leopardi/src/sage/sage-4.4.1/local/lib/libreadline.so.6: undefined
> symbol: PC
> Successfully installed readline-6.0.p1

So readline installs, despite the fact the code looks as though it could do with
a major cleanup to me.

It is clearly is the cause of many later problems.

> sage: An error occurred while installing sqlite-3.6.22

sqlite is a well tested bit of code. The developers take testing very seriously
- see

http://www.sqlite.org/testing.html

> sage: An error occurred while installing symmetrica-2.0.p5


I would look over the readline.spkg and see if there are any clues there. I
think you will find some SUSE specific code there, which may just not work.

dave

Georg S. Weber

unread,
May 16, 2010, 8:37:32 AM5/16/10
to sage-devel
Hi,

these are two (if not three) very different kinds of problems.


1. The "readline" story on OpenSuse 11.1, 11.2, ArchLinux with Sage
Looking at what was done for OpenSuse 11.1 64bit:
http://trac.sagemath.org/sage_trac/ticket/4946
and/or for ArchLinux
http://trac.sagemath.org/sage_trac/ticket/7610
one should be able to sort out this issue, which seems to come up
every now and then. Thanks for reporting! As soon as someone can
confirm this (do we have OpenSuse 11.2 64bit on the Sage build/test
farm?), fixing it probably isn't too difficult.


2. Symmetrica
Having a look at an install log of a successful build of the
Symmetrica spkg shows that some of the warnings are to be expected,
some not. From the logs ("gcc -v Using built-in specs. Target: x86_64-
suse-linux ...") I assume that you are using a 64bit OS, but then the
Symmetrica spkg log should display something like "gcc -O1 -m64 -fPIC -
g -DFAST -DALLTRUE ..." and not "gcc -O1 -fPIC -g -DFAST -DALLTRUE".

One could try issuing manually "export SAGE64=yes" and then hopefully
the "make" run of the Symmetrica spkg works OK.


Cheers,
Georg

Georg S. Weber

unread,
May 16, 2010, 9:12:06 AM5/16/10
to sage-devel
Sorry for replying to myself,
but I just found this in the current readline spkg's install script:

...
if [ -f /etc/SuSE-release ]; then
if [ `grep 11.1 /etc/SuSE-release > /dev/null; echo $?` -eq 0 ];
then
echo "OpenSUSE 11.1 detected"
if [ -d /usr/include/readline/ ]; then
echo "The development version of libreadline is installed -
> copying"
if [ `uname -p` = "x86_64" ]; then
cp /lib64/libreadline.so.* "$SAGE_LOCAL"/lib
else
cp /lib/libreadline.so.* "$SAGE_LOCAL"/lib
fi
cp -r /usr/include/readline "$SAGE_LOCAL"/include
exit 0
...

This is both good and bad news. The good thing is, that to enhance
this quick'n'dirty trick is trivial --- just copy and paste the above
with "11.2" instead of "11.1". The bad news is, that this wouldn't
work on OpenSuse 11.3, or 12.0 (so a "real fix" will require more
care); and that specifically Sage on (64bit) OpenSuse 11.2 probably
never ever has worked, and might require some more attention than the
above two problems.
I just created trac ticket #8978 for all that.

Paul Leopardi

unread,
May 16, 2010, 9:51:43 AM5/16/10
to sage-...@googlegroups.com
Thanks for the help. I tried again but with
export SAGE64=yes
before running make.
The only difference is that the calls to gcc now include the option -m64.
The warning and error messages are the same.
Best, Paul

--- install.2.log 2010-05-16 15:38:19.000000000 +1000
+++ install.log 2010-05-16 23:34:28.000000000 +1000
@@ -1,110348 +1,4 @@
make[1]: Entering directory `/home/leopardi/src/Sage/sage-4.4.1/spkg'
-sage-spkg sqlite-3.6.22 2>&1
[...]
-Finished installing singular-3-1-0-4-20100214.spkg
sage-spkg symmetrica-2.0.p5 2>&1
Warning: Attempted to overwrite SAGE_ROOT environment variable
symmetrica-2.0.p5
@@ -110576,76 +232,76 @@
gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
****************************************************
make[2]: Entering directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src'
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE bar.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE bi.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE boe.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE bruch.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE classical.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE de.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE di.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ff.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE galois.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ga.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE gra.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE hash.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE hiccup.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE io.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ko.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE list.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE lo.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ma.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mee.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mem.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mes.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mhe.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mhh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mhm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mhp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mhs.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mmm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mms.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mod_dg_sbd.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE bar.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE bi.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE boe.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE bruch.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE classical.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE de.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE di.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ff.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE galois.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ga.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE gra.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE hash.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE hiccup.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE io.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ko.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE list.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE lo.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ma.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mee.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mem.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mes.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mhe.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mhh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mhm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mhp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mhs.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mmm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mms.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mod_dg_sbd.c
mod_dg_sbd.c: In function ‘embedding_mod_into_ord’:
mod_dg_sbd.c:624: warning: passing argument 4 of ‘qsort’ from incompatible
pointer type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mo.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mpp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mps.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mse.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE msh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE msm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE mss.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE muir.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE na.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE nb.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE nc.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE nu.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE part.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pee.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE peh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pem.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE perm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pes.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE phe.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE phh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE phm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE phs.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE plet.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pme.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pmh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE poly.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ppe.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pph.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ppm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ppp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pps.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pr.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pse.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE psh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE psm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE pss.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE rest.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE rh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mo.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mpp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mps.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mse.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE msh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE msm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE mss.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE muir.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE na.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE nb.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE nc.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE nu.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE part.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pee.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE peh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pem.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE perm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pes.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE phe.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE phh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE phm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE phs.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE plet.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pme.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pmh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE poly.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ppe.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pph.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ppm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ppp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pps.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pr.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pse.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE psh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE psm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE pss.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE rest.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE rh.c
rh.c: In function ‘copy_poly’:
rh.c:100: warning: cast from pointer to integer of different size
rh.c:103: warning: cast from pointer to integer of different size
@@ -110658,48 +314,48 @@
rh.c: In function ‘copy_rh’:
rh.c:140: warning: cast from pointer to integer of different size
rh.c:143: warning: cast from pointer to integer of different size
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE sab.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE sb.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE sc.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE sr.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ta.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE sab.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE sb.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE sc.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE sr.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ta.c
ta.c: In function ‘sort_rows_tableaux_apply’:
ta.c:1445: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE teh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tem.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tep.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tes.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE the.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE thm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE thp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE ths.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tme.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tmh.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tmp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tms.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tpe.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tph.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tpm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tps.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tse.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tsh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE teh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tem.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tep.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tes.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE the.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE thm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE thp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE ths.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tme.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tmh.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tmp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tms.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tpe.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tph.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tpm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tps.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tse.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tsh.c
tsh.c: In function ‘tsh_eval_jt’:
tsh.c:230: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tsm.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE tsp.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE vc.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tsm.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE tsp.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE vc.c
vc.c: In function ‘qsort_vector’:
vc.c:512: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
vc.c: In function ‘usersort_vector’:
vc.c:526: warning: passing argument 4 of ‘qsort’ from incompatible pointer
type
/usr/include/stdlib.h:710: note: expected ‘__compar_fn_t’ but argument is of
type ‘INT (*)()’
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE zo.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE zykelind.c
-gcc -c -O1 -fPIC -g -DFAST -DALLTRUE zyk.c
-gcc -O1 -fPIC -g -DFAST -DALLTRUE -lm test.c bar.o bi.o boe.o bruch.o
classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o
list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o
mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o
nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o
pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o
rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o
thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o
tsp.o vc.o zo.o zykelind.o zyk.o -o test
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE zo.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE zykelind.c
+gcc -c -O1 -m64 -fPIC -g -DFAST -DALLTRUE zyk.c
+gcc -O1 -m64 -fPIC -g -DFAST -DALLTRUE -lm test.c bar.o bi.o boe.o bruch.o
classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o
list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o
mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o
nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o
pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o
rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o
thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o
tsp.o vc.o zo.o zykelind.o zyk.o -o test
nb.o: In function `convert_radical_cyclo':
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
/home/leopardi/src/sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src/nb.c:4087:
undefined reference to `cos'
@@ -110710,9 +366,9 @@
make[2]: Leaving directory
`/home/leopardi/src/Sage/sage-4.4.1/spkg/build/symmetrica-2.0.p5/src'
Error building symmetrica.

-real 11m18.893s
-user 8m44.467s
-sys 0m16.797s
+real 14m42.770s
+user 8m52.703s
+sys 0m19.643s
sage: An error occurred while installing symmetrica-2.0.p5
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
@@ -110727,7 +383,7 @@
make[1]: *** [installed/symmetrica-2.0.p5] Error 1
make[1]: Leaving directory `/home/leopardi/src/Sage/sage-4.4.1/spkg'

-real 179m40.363s
-user 114m44.412s
-sys 14m43.484s
+real 14m43.870s
+user 8m53.253s
+sys 0m19.819s
Error building Sage.

Nathan O'Treally

unread,
May 16, 2010, 11:24:45 AM5/16/10
to sage-devel
On 16 Mai, 14:37, "Georg S. Weber" <georgswe...@googlemail.com> wrote:
> 2. Symmetrica
> Having a look at an install log of a successful build of the
> Symmetrica spkg shows that some of the warnings are to be expected,
> some not. From the logs ("gcc -v Using built-in specs. Target: x86_64-
> suse-linux ...") I assume that you are using a 64bit OS, but then the
> Symmetrica spkg log should display something like "gcc -O1 -m64 -fPIC -
> g -DFAST -DALLTRUE ..." and not "gcc -O1 -fPIC -g -DFAST -DALLTRUE".

Since gcc was built for x86_64, the (implicit) default *is* "-m64",
i.e. you don't have to specify it.

-Leif

Georg S. Weber

unread,
May 16, 2010, 3:23:17 PM5/16/10
to sage-devel
Well,

one last try, before I give up. You should have a (temporary)
directory /home/leopardi/src/Sage/sage-4.4.1/spkg/build/
symmetrica-2.0.p5/.
In its subdirectory src/ there is a file "makefile". Change its last
line (line 12) from

" $(CC) $(CFLAGS) -lm test.c bar.o bi.o boe.o bruch.o classical.o de.o
di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o
ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o
mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o
nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o
phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o
pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o
tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o
tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o
zyk.o -o test"

to

" $(CC) $(CFLAGS) test.c bar.o bi.o boe.o bruch.o classical.o de.o
di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o
ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o
mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o
nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o
phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o
pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o
tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o
tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o
zyk.o -lm -o test"

i.e. just move the math library link option "-lm" somewhere *after*
the object file "nb.o", but before (I did it *right* before) the last
"-o test". (Reason: The Symmetrica code is perhaps ugly, but seems
correct to me. As for the makefile: a library containing the
definition of a function should appear after any source files, or
object files, which use it. I would have assumed that all incarnations
of gcc also accept the other way around, but maybe the one shipping
with OpenSuse 11.2 doesn't like it.)

Now from the first mentioned directory (the one containing src/),
issue "./spkg-install". If that works, fine. If not, then you may also
just delete the last two lines of the "makefile" mentioned (and then
do ./spkg-install from the directory one above, as already mentioned)
--- the binary "test" created by them is not used by Sage, so
there. :-)

Cheers,
Georg

Paul Leopardi

unread,
May 16, 2010, 8:55:45 PM5/16/10
to sage-...@googlegroups.com
Thanks, Georg,
I moved -lm to just before -o test in the makefile for symmetrica-2.0.p5, used
tar zcf to creat a replacement spkg, and the make now continues past
symmetrica-2.0.p5. The make is still running.

I have the following environment variables defined:

SAGE64=yes
SAGE_CHECK=yes
SAGE_ROOT=

Best, Paul

Paul Leopardi

unread,
May 16, 2010, 10:14:38 PM5/16/10
to sage-...@googlegroups.com
In the makefile for symmetrica, the -lm has to go after all the .o files that
need libm.a or libm.so. This is standard practice for GNU binutils and not a
quirk of OpenSUSE, so I don't see why the build should have worked with any
other Linux distribution (remember that I have exported

SAGE_CHECK=yes

).

In the GNU binutils doc under options:

http://sourceware.org/binutils/docs-2.20/ld/Options.html#Options

-l namespec
--library=namespec
Add the archive or object file specified by namespec to the list of files
to link. This option may be used any number of times. If namespec is of the
form :filename, ld will search the library path for a file called filename,
otherwise it will search the library path for a file called libnamespec.a.

On systems which support shared libraries, ld may also search for files
other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will
search a directory for a library called libnamespec.so before searching for
one called libnamespec.a. (By convention, a .so extension indicates a shared
library.) Note that this behavior does not apply to :filename, which always
specifies a file called filename.

The linker will search an archive only once, at the location where it is
specified on the command line. If the archive defines a symbol which was
undefined in some object which appeared before the archive on the command
line, the linker will include the appropriate file(s) from the archive.
However, an undefined symbol in an object appearing later on the command line
will not cause the linker to search the archive again.

See the -( option for a way to force the linker to search archives
multiple times.

You may list the same archive multiple times on the command line.

This type of archive searching is standard for Unix linkers. However, if
you are using ld on AIX, note that it is different from the behaviour of the
AIX linker.
Message has been deleted

Paul Leopardi

unread,
May 17, 2010, 8:05:23 AM5/17/10
to sage-...@googlegroups.com
Hi all,
The build on my machine apparently finished. The end of install.log looks
like:
----------------------------------------------------------------------
[...]
Successfully installed sagetex-2.2.5
Running the test suite.
pdfTeX using libpoppler 3.1415926-1.40.9-2.2 (Web2C 7.5.7)
kpathsea version 3.5.7
Copyright 2008 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Kpathsea is copyright 2008 Karl Berry and Olaf Weber.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX using libpoppler copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX using libpoppler source.
Primary author of pdfTeX using libpoppler: Peter Breitenlohner (eTeX)/Han The
Thanh (pdfTeX).
Kpathsea written by Karl Berry, Olaf Weber, and others.

Compiled with libpng 1.2.39; using libpng 1.2.35
Compiled with zlib 1.2.3; using zlib 1.2.3
Compiled with xpdf version 3.01

Could not find tkz-berge.sty. Skipping test of SageTeX spkg.
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing sagetex-2.2.5.spkg
make[1]: Leaving directory `/home/leopardi/src/Sage/sage-4.4.1/spkg'

real 147m46.260s
user 98m19.883s
sys 8m39.355s
To install gap, gp, singular, etc., scripts
in a standard bin directory, start sage and
type something like
sage: install_scripts('/usr/local/bin')
at the Sage command prompt.

To build the documentation, run
make doc

Sage build/upgrade complete!
----------------------------------------------------------------------

The make script then apparently ran the command:
./sage -docbuild all html 2>&1 | tee -a dochtml.log

The start of dochtml.log looks like:
----------------------------------------------------------------------
python: can't open file
'/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/common/builder.py': [Errno
2] No such file or directory
python: can't open file
'/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/common/builder.py': [Errno
2] No such file or directory
sphinx-build -b html -d
/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/output/doctrees/en/numerical_sage
/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/en/numerical_sage
/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/output/html/en/numerical_sage
Traceback (most recent call last):
File "/home/leopardi/src/Sage/sage-4.4.1/local/bin/sphinx-build", line 6, in
<module>
import sage.all
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/all.py", line 72, in <module>
from sage.rings.all import *
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/all.py", line 65, in <module>
from finite_rings.all import *
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/finite_rings/all.py", line 21, in <module>
from constructor import (FiniteField, is_FiniteField, is_PrimeFiniteField,
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/finite_rings/constructor.py", line 162, in <module>
import sage.rings.polynomial.polynomial_element as polynomial_element
File "polynomial_element.pyx", line 33, in init
sage.rings.polynomial.polynomial_element
(sage/rings/polynomial/polynomial_element.c:42238)
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 105, in <module>
import sage.rings.polynomial.polynomial_element_generic as
polynomial_element_generic
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_element_generic.py", line 37, in
<module>
from sage.rings.polynomial.polynomial_ring_constructor import
PolynomialRing
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 41, in
<module>
import sage.rings.padics.padic_base_leaves as padic_base_leaves
File "/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_leaves.py", line 189, in <module>
from padic_capped_relative_element import pAdicCappedRelativeElement
File "padic_capped_relative_element.pyx", line 1, in init
sage.rings.padics.padic_capped_relative_element
(sage/rings/padics/padic_capped_relative_element.c:17903)
ImportError: /home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_generic_element.so: undefined symbol:
__gmpz_cmp
Build finished. The built documents can be found in
/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/output/html/en/numerical_sage
[...]
----------------------------------------------------------------------

The ./sage script exists, but when I run it, Sage outputs the following:

----------------------------------------------------------------------
leopardi@linfinit:~/src/Sage/sage-4.4.1> ./sage
----------------------------------------------------------------------
| Sage Version 4.4.1, Release Date: 2010-05-02 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/IPython/ipmaker.pyc in force_import(modname)
64 reload(sys.modules[modname])
65 else:
---> 66 __import__(modname)
67
68

/home/leopardi/src/Sage/sage-4.4.1/local/bin/ipy_profile_sage.py in <module>()
5 preparser(True)
6
----> 7 import sage.all_cmdline
8 sage.all_cmdline._init_cmdline(globals())
9

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/all_cmdline.py in <module>()
12 try:
13
---> 14 from sage.all import *
15 from sage.calculus.predefined import x
16 preparser(on=True)

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/all.py in <module>()
70 get_sigs()
71
---> 72 from sage.rings.all import *
73 from sage.matrix.all import *
74

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/all.py in <module>()
63
64 # Finite fields

---> 65 from finite_rings.all import *
66
67 # Number field


/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/finite_rings/all.py in <module>()
19
#*****************************************************************************

20
---> 21 from constructor import (FiniteField, is_FiniteField,
is_PrimeFiniteField,
22 conway_polynomial, exists_conway_polynomial)
23 GF = FiniteField

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/finite_rings/constructor.py in <module>()
160 import sage.rings.integer as integer
161
--> 162 import sage.rings.polynomial.polynomial_element as polynomial_element
163 import sage.rings.polynomial.multi_polynomial_element as
multi_polynomial_element
164

/home/leopardi/src/Sage/sage-4.4.1/local/bin/polynomial_element.pyx in init
sage.rings.polynomial.polynomial_element
(sage/rings/polynomial/polynomial_element.c:42238)()

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_ring.py in <module>()
103 import sage.rings.principal_ideal_domain as principal_ideal_domain
104 from sage.rings.polynomial.polynomial_element import Polynomial
--> 105 import sage.rings.polynomial.polynomial_element_generic as
polynomial_element_generic
106 import sage.rings.rational_field as rational_field
107 from sage.rings.integer_ring import is_IntegerRing, IntegerRing

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_element_generic.py in <module>()
35 from sage.rings.polynomial.polynomial_singular_interface import
Polynomial_singular_repr
36
---> 37 from sage.rings.polynomial.polynomial_ring_constructor import
PolynomialRing
38
39 from sage.libs.pari.all import pari, pari_gen

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/polynomial/polynomial_ring_constructor.py in <module>()
39 import sage.rings.ring as ring
40 import weakref
---> 41 import sage.rings.padics.padic_base_leaves as padic_base_leaves
42
43 from sage.rings.integer import Integer

/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_leaves.py in <module>()
187 pAdicFixedModRingGeneric, \
188 pAdicCappedAbsoluteRingGeneric
--> 189 from padic_capped_relative_element import pAdicCappedRelativeElement
190 from padic_capped_absolute_element import pAdicCappedAbsoluteElement
191 from padic_fixed_mod_element import pAdicFixedModElement

/home/leopardi/src/Sage/sage-4.4.1/local/bin/padic_capped_relative_element.pyx
in init sage.rings.padics.padic_capped_relative_element
(sage/rings/padics/padic_capped_relative_element.c:17903)()

ImportError: /home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_generic_element.so: undefined symbol:
__gmpz_cmp
Error importing ipy_profile_sage - perhaps you should run %upgrade?
WARNING: Loading of ipy_profile_sage failed.

sage: 1+1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)

/home/leopardi/src/Sage/sage-4.4.1/local/bin/<ipython console> in <module>()

NameError: name 'Integer' is not defined
----------------------------------------------------------------------

I see a few different error messages:
(1)
Could not find tkz-berge.sty. Skipping test of SageTeX spkg.

(2)
python: can't open file
'/home/leopardi/src/Sage/sage-4.4.1/devel/sage/doc/common/builder.py': [Errno
2] No such file or directory

(3)
ImportError: /home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_generic_element.so: undefined symbol:
__gmpz_cmp

(4)
NameError: name 'Integer' is not defined

Are these messages related? What now?
Best, Paul

Jaap Spies

unread,
May 17, 2010, 12:30:23 PM5/17/10
to sage-...@googlegroups.com
Paul Leopardi wrote:
> Thanks, Georg,
> I moved -lm to just before -o test in the makefile for symmetrica-2.0.p5, used
> tar zcf to creat a replacement spkg, and the make now continues past
> symmetrica-2.0.p5. The make is still running.
>
> I have the following environment variables defined:
>
> SAGE64=yes
> SAGE_CHECK=yes

Don't do this! SAGE64="yes" is reserved for building 64 bit on OSX and (Open) Solaris!

Don't set SAGE_CHECK unless you know what you are doing.


Jaap

Paul Leopardi

unread,
May 17, 2010, 7:14:20 PM5/17/10
to sage-...@googlegroups.com
Thanks, Jaap,
> From: Jaap Spies <j.sp...@hccnet.nl>
> Mon, 17 May 2010 18:30:23 +0200
>
> Paul Leopardi wrote:
> > Thanks, Georg,
> > I moved -lm to just before -o test in the makefile for symmetrica-2.0.p5,
used
> > tar zcf to creat a replacement spkg, and the make now continues past
> > symmetrica-2.0.p5. The make is still running.
>
> > I have the following environment variables defined:
>
> > SAGE64=yes
> > SAGE_CHECK=yes
>
> Don't do this! SAGE64="yes" is reserved for building 64 bit on OSX and
(Open) Solaris!
>
> Don't set SAGE_CHECK unless you know what you are doing.

SAGE64=yes:

I did this because Georg S. Weber suggested it (on this thread).
Where is the SAGE64 environment variable documented? In local/bin/sage-env it
says:

echo "SAGE64 Set to \"yes\" to build a 64-bit binary (Solaris SPARC or
Solaris x86 only)"

and does not mention OSX.

SAGE_CHECK=yes:

I did this because it is mentioned in point 3 of README.txt:

If you want to run the test suite for each individual spkg as it is
installed, type

export SAGE_CHECK="yes"

before starting the Sage build. This will run each test suite and
will raise an error if any failures occur.

Should there be a trac ticket to update README.txt to say:
----
Don't set SAGE_CHECK unless you know what you are doing.
----
See
http://groups.google.com/group/sage-
devel/browse_thread/thread/c27cbd64eb0e2534

Ticket #6282 asked for SAGE_CHECK to be documented and gave the existing
wording in README.txt
Ticket #8806 asked for README.txt to be updated, but did not mention
SAGE_CHECK.
Ticket #8106 asked for the documentation of SAGE_CHECK in README.txt to be
changed along the lines above, but I can't find any relevant changes in
http://hg.sagemath.org
Should I be able to find changes to README.txt somewhere in there?

Bottom line:
I am now doing this in my sage-4.4.1 directory (using the fixed libreadline
and symmetrica spkg files instead of the downloaded ones)

unset SAGE_CHECK
unset SAGE64
make clean
make

We shall see what happens.

Paul Leopardi

unread,
May 17, 2010, 7:22:25 PM5/17/10
to sage-...@googlegroups.com
Hi all,
make clean
make

does not work the way I expected it to. I expected it to clean out my existing
build of sage and start again. Instead, "make clean" outputs:

echo "Deleted spkg/build"
Deleted spkg/build
rm -rf spkg/build
mkdir -p spkg/build
echo "Deleted spkg/archive"
Deleted spkg/archive
rm -rf spkg/archive
mkdir -p spkg/archive

and "make" outputs:


cd spkg && ./install all 2>&1 | tee -a ../install.log
make[1]: Entering directory `/home/leopardi/src/Sage/sage-4.4.1/spkg'
sage-spkg sagenb-0.8.p1 2>&1
Warning: Attempted to overwrite SAGE_ROOT environment variable
sagenb-0.8.p1
Machine:
Linux linfinit 2.6.31.12-0.1-default #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
sage: sagenb-0.8.p1 is already installed
cd /home/leopardi/src/Sage/sage-4.4.1 && . local/bin/sage-env && cd local/bin/
&& ./sage-make_relative
Making script relocatable
sage-spkg sage-4.4.1
Warning: Attempted to overwrite SAGE_ROOT environment variable
sage-4.4.1
Machine:
Linux linfinit 2.6.31.12-0.1-default #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
sage: sage-4.4.1 is already installed
cd /home/leopardi/src/Sage/sage-4.4.1 && . local/bin/sage-env && cd local/bin/
&& ./sage-make_relative
Making script relocatable
sage-spkg gap-4.4.12.p3 2>&1
Warning: Attempted to overwrite SAGE_ROOT environment variable
gap-4.4.12.p3
Machine:
Linux linfinit 2.6.31.12-0.1-default #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
sage: gap-4.4.12.p3 is already installed
make[1]: Leaving directory `/home/leopardi/src/Sage/sage-4.4.1/spkg'

real 0m1.833s
user 0m0.321s
sys 0m0.364s
To install gap, gp, singular, etc., scripts
in a standard bin directory, start sage and
type something like
sage: install_scripts('/usr/local/bin')
at the Sage command prompt.

To build the documentation, run
make doc

Sage build/upgrade complete!
./sage -docbuild all html 2>&1 | tee -a dochtml.log

I am now going to start the build from scratch (using the fixed libreadline
and symmetrica spkg files instead of the downloaded ones).

Dr. David Kirkby

unread,
May 17, 2010, 7:51:22 PM5/17/10
to sage-...@googlegroups.com
On 05/17/10 05:30 PM, Jaap Spies wrote:
> Paul Leopardi wrote:
>> Thanks, Georg,
>> I moved -lm to just before -o test in the makefile for
>> symmetrica-2.0.p5, used
>> tar zcf to creat a replacement spkg, and the make now continues past
>> symmetrica-2.0.p5. The make is still running.
>>
>> I have the following environment variables defined:
>>
>> SAGE64=yes
>> SAGE_CHECK=yes
>
> Don't do this! SAGE64="yes" is reserved for building 64 bit on OSX and
> (Open) Solaris!

Though I don't believe it should cause a problem. I understand the default on
that OS is to build 64-bit, so adding the -m64 flag should not cause a problem.
It's unnecessary, but should not be a cause for concern.

> Don't set SAGE_CHECK unless you know what you are doing.

I wont argue with you there.

>
> Jaap

Dave

William Stein

unread,
May 17, 2010, 7:57:31 PM5/17/10
to sage-...@googlegroups.com
On Mon, May 17, 2010 at 4:22 PM, Paul Leopardi
<paul.l...@iinet.net.au> wrote:
> Hi all,
> make clean
> make
>
> does not work the way I expected it to. I expected it to clean out my existing
> build of sage and start again. Instead, "make clean" outputs:


Use "make distclean".

William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

Paul Leopardi

unread,
May 18, 2010, 8:48:22 AM5/18/10
to sage-...@googlegroups.com
Hi all,
OK. I have now run make again, this time with
unset SAGE_CHECK
unset SAGE64

The build apparently completes, but dochtml.log still has much the same error
messages:
-------------------
Running sage still results in:
-------------------
sage: quit
-------------------

My LD_LIBRARY_PATH variable is set to:
/usr/lib64:/usr/local/lib:/usr/lib64/octave-2.1.49:/home/leopardi/src/Sage/sage-4.4.1/local/lib:/usr/lib64:/usr/local/lib:/usr/lib64/octave-2.1.49

The native libgmp.a has __gmpz_cmp defined:
-------------------
> nm /usr/lib64/libgmp.a|grep __gmpz_cmp
U __gmpz_cmp_ui
0000000000000000 T __gmpz_cmp
0000000000000000 T __gmpz_cmp_d
0000000000000000 T __gmpz_cmp_si
0000000000000000 T __gmpz_cmp_ui
0000000000000000 T __gmpz_cmpabs
0000000000000000 T __gmpz_cmpabs_d
0000000000000000 T __gmpz_cmpabs_ui
U __gmpz_cmp
U __gmpz_cmp_ui
U __gmpz_cmp
U __gmpz_cmp_ui
U __gmpz_cmp_ui
U __gmpz_cmp_ui
U __gmpz_cmpabs_ui
U __gmpz_cmp_ui
U __gmpz_cmpabs_ui
U __gmpz_cmp_ui
U __gmpz_cmp_ui
-------------------

I went looking for uses and definitions of __gmpz_cmp in Sage:
-------------------
> for i in ~/src/sage/sage-4.4.1/local/lib/*.a;do echo $i:;(nm $i|grep
__gmpz_cmp$;);done
/home/leopardi/src/sage/sage-4.4.1/local/lib/libatlas.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libblas.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libbz2.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcblas.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcdd.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcddgmp.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcf.a:
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcfmem.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcord.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libecm.a:
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libf2c.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libf77blas.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libfac.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libfplll.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libfreetype.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libg2c.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgc.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgcrypt.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgd.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libghmm.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgivaro.a:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgpg-error.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgroebner.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgsl.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgslcblas.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libiml.a:
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/liblapack.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libm4ri.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpfi.a:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpfr.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libntl.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libomalloc.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libomalloc_ndebug.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libomalloc_p.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libopencdk.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpari.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpboriCudd.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpng12.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpolybori.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpython2.6.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libratpoints.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingcf.a:
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingcf_g.a:
U __gmpz_cmp
nm: readcf.y: File format not recognized
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingcf_p.a:
U __gmpz_cmp
nm: readcf.y: File format not recognized
U __gmpz_cmp
U __gmpz_cmp
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingfac.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingfac_g.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingfac_p.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsqlite3.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsymmetrica.a:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libtermcap.a:

> for i in ~/src/sage/sage-4.4.1/local/lib/*.so;do echo $i:;(nm $i|grep
__gmpz_cmp$;);done
/home/leopardi/src/sage/sage-4.4.1/local/lib/dbmsr.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libatlas.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcblas.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcddgmp.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcdd.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcliquer.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcord.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcsage.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libcurvesntl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libecl.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libflint.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libfplll.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libfreetype.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libg0nntl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgcrypt.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgc.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgd.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libghmm.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgivaro.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgmp.so:
0000000000015750 T __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgmpxx.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgnutls-extra.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgnutls-openssl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgnutls.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgpg-error.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgroebner-0.6.4.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgslcblas.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgsl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libiml.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libjcntl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libLfunction.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/liblinboxsage.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/liblinbox.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libm4ri-0.0.20091101.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libm4ri.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpfi.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpfr.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpir.so:
0000000000015750 T __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libmpirxx.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libntl-5.4.2.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libntl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libopencdk.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpari.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpboriCudd-0.6.4.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpng12.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpolybori-0.6.4.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libpynac.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/librankntl.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsingular.so:
U __gmpz_cmp
/home/leopardi/src/sage/sage-4.4.1/local/lib/libsqlite3.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libzn_poly-0.9.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libzn_poly.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/libz.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/p_Procs_FieldGeneral.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/p_Procs_FieldIndep.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/p_Procs_FieldQ.so:
/home/leopardi/src/sage/sage-4.4.1/local/lib/p_Procs_FieldZp.so:
-------------------

It looks like __gmpz_cmp is defined in
/home/leopardi/src/sage/sage-4.4.1/local/lib/libgmp.so
So, what happens if I prepend
/home/leopardi/src/sage/sage-4.4.1/local/lib to LD_LIBRARY_PATH?
Sage still outputs the same error message.

-------------------

> export LD_LIBRARY_PATH=/home/leopardi/src/sage/sage-4.4.1/local/lib:
$LD_LIBRARY_PATH
-------------------

So why isn't /home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/sage/rings/padics/padic_base_generic_element.so finding __gmpz_cmp?

Any ideas?

Nathan O'Treally

unread,
May 19, 2010, 4:59:21 PM5/19/10
to sage-devel
Just a hint (Cython experts!?):
padic_base_generic_element[.pyx/.so] happens to directly use libgmp,
but does not link with it (see install.log; readelf -d
padic_base_generic_element.so also shows this).

__gmpz_cmp is just the *first* symbol (from libgmp) that can't be
resolved.
(The reason this though works on other systems is just how/where the
linker looks for unresolved symbols, i.e.
padic_base_generic_element.so depends on e.g. libcsage.so which in
turn depends on libgmp.so).

Sorry, no solution, just the reason... (unless you're going to
directly edit the shared library ;-)

-Leif

Nathan O'Treally

unread,
May 19, 2010, 5:19:00 PM5/19/10
to sage-devel
See also http://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
various(?) tickets related to this (Fedora).

Mike Hansen

unread,
May 19, 2010, 5:22:42 PM5/19/10
to sage-...@googlegroups.com
On Wed, May 19, 2010 at 2:19 PM, Nathan O'Treally <not.r...@online.de> wrote:
>> __gmpz_cmp is just the *first* symbol (from libgmp) that can't be
>> resolved.
>> (The reason this though works on other systems is just how/where the
>> linker looks for unresolved symbols, i.e.
>> padic_base_generic_element.so depends on e.g. libcsage.so which in
>> turn depends on libgmp.so).
>
> See also http://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
> various(?) tickets related to this (Fedora).

My guess is that http://trac.sagemath.org/sage_trac/ticket/8844 fixes
this by making the linking explicit. The is needed on Cygwin.

Reviews anyone?

--Mike

Nathan O'Treally

unread,
May 19, 2010, 5:55:35 PM5/19/10
to sage-devel
On 19 Mai, 23:22, Mike Hansen <mhan...@gmail.com> wrote:
> On Wed, May 19, 2010 at 2:19 PM, Nathan O'Treally <not.rea...@online.de> wrote:
> >> __gmpz_cmp is just the *first* symbol (from libgmp) that can't be
> >> resolved.
> >> (The reason this though works on other systems is just how/where the
> >> linker looks for unresolved symbols, i.e.
> >> padic_base_generic_element.so depends on e.g. libcsage.so which in
> >> turn depends on libgmp.so).
>
> > See alsohttp://fedoraproject.org/wiki/UnderstandingDSOLinkChangeand
> > various(?) tickets related to this (Fedora).
>
> My guess is thathttp://trac.sagemath.org/sage_trac/ticket/8844fixes
> this by making the linking explicit.

From a first glance, it looks like...

Mike, could you update the ticket description etc. (to cover Fedora et
al.)?
("component" currently is cygwin.)

> Reviews anyone?

I currently can only try to apply the patch on systems that don't need
it... 8(

-Leif

P.S. I thought some "clib ..." declaration in the .pyx/.pxi files
would do it...

Mike Hansen

unread,
May 19, 2010, 6:21:43 PM5/19/10
to sage-...@googlegroups.com
On Wed, May 19, 2010 at 2:55 PM, Nathan O'Treally <not.r...@online.de> wrote:
> Mike, could you update the ticket description etc. (to cover Fedora et
> al.)?
> ("component" currently is cygwin.)

Sure.

> P.S. I thought some "clib ..." declaration in the .pyx/.pxi files
> would do it...

Yes, that would work. See
http://trac.sagemath.org/sage_trac/ticket/7987 for a patch that does
this (and gets rid of most of module_list). However, I think #7987
should be rebased on top of #8844

--Mike

Paul Leopardi

unread,
May 19, 2010, 8:59:17 PM5/19/10
to sage-...@googlegroups.com
Thanks Nathan, Mike,
I applied
http://trac.sagemath.org/sage_trac/attachment/ticket/8844/trac_8844-
module_list.patch to $SAGE_ROOT/devel/sage-main/module_list.py.

What do I now need to do to re-build sage without starting from scratch?
"sage -b" and "sage -f sage" seem to "work", but they don't fix the unresolved
symbols problem. Is there a standard procedure for patching that I am missing
here? I don't see anything relevant in
http://www.sagemath.org/doc/developer/producing_patches.html
Best, Paul

Nathan O'Treally

unread,
May 19, 2010, 9:09:24 PM5/19/10
to sage-devel
On 20 Mai, 02:59, Paul Leopardi <paul.leopa...@iinet.net.au> wrote:
> Thanks Nathan, Mike,
> I appliedhttp://trac.sagemath.org/sage_trac/attachment/ticket/8844/trac_8844-
> module_list.patch to $SAGE_ROOT/devel/sage-main/module_list.py.
>
> What do I now need to do to re-build sage without starting from scratch?
> "sage -b" and "sage -f sage" seem to "work", but they don't fix the unresolved
> symbols problem. Is there a standard procedure for patching that I am missing
> here? I don't see anything relevant inhttp://www.sagemath.org/doc/developer/producing_patches.html

Try ./sage -ba

-Leif

Paul Leopardi

unread,
May 20, 2010, 11:18:36 AM5/20/10
to sage-...@googlegroups.com
Hi all,
I tried "sage -ba" and the build now completes. Sage now starts without
errors! So it looks to me like the patch to module_list.py is needed for
openSUSE 11.2. Thanks, all.

I also ran:
./sage -docbuild all html 2>&1 | tee -a dochtml.log

It also looks like that works fine now, too.

I am now seeing an error message when starting the sage notebook - see below.

If I display http://localhost:8000 instead of
http://localhost:8000/?startup_token=ae62addaf110060a2765c595ea17d16
the notebook works OK.
Best, Paul

> ./sage -notebook
----------------------------------------------------------------------
| Sage Version 4.4.1, Release Date: 2010-05-02 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------

Please wait while the Sage Notebook server starts...
...
The notebook files are stored in: sage_notebook.sagenb
**************************************************
* *
* Open your web browser to http://localhost:8000 *
* *
**************************************************
2010-05-21 01:03:09+1000 [-] Log opened.
2010-05-21 01:03:09+1000 [-] twistd 9.0.0
(/home/leopardi/src/Sage/sage-4.4.1/local/bin/python 2.6.4) starting up.
2010-05-21 01:03:09+1000 [-] reactor class:
twisted.internet.selectreactor.SelectReactor.
2010-05-21 01:03:09+1000 [-] twisted.web2.channel.http.HTTPFactory starting on
8000
2010-05-21 01:03:09+1000 [-] Starting factory
<twisted.web2.channel.http.HTTPFactory instance at 0x3e25ab8>
<unknown program name>(24368)/ ClientApp::doIt: Creating ClientApp
kioclient(24368) ClientApp::kde_open:
KUrl("http://localhost:8000/?startup_token=ae62addaf110060a2765c595ea17d16")
kioclient(24368)/kdecore (KSycoca): Trying to open ksycoca from
"/var/tmp/kdecache-leopardi/ksycoca4"
kioclient(24368) KSharedUiServerProxy::KSharedUiServerProxy: kuiserver
registered
2010-05-21 01:03:16+1000 [HTTPChannel,1,127.0.0.1]
/home/leopardi/src/Sage/sage-4.4.1/local/lib/python2.6/site-
packages/twisted/internet/defer.py:262: exceptions.DeprecationWarning: Don't
pass strings (like 'Bad token') to failure.Failure (replacing with a
DefaultException).
2010-05-21 01:03:16+1000 [HTTPChannel,1,127.0.0.1] Exception rendering:
2010-05-21 01:03:16+1000 [HTTPChannel,1,127.0.0.1] Unhandled Error
Traceback (most recent call last):
Failure: twisted.python.failure.DefaultException: Bad token

Georg S. Weber

unread,
May 20, 2010, 5:26:31 PM5/20/10
to sage-devel

>
> It also looks like that works fine now, too.
>
> I am now seeing an error message when starting the sage notebook - see below.
>
> If I displayhttp://localhost:8000instead ofhttp://localhost:8000/?startup_token=ae62addaf110060a2765c595ea17d16
> the notebook works OK.
> Best, Paul
>

Thank you very much for your patience and tenacity!

I updated trac ticket #8978 accordingly.

Cheers,
Georg
Reply all
Reply to author
Forward
0 new messages