[sage-devel] Re: Building SAGE on NexentaOS?
On May 29, 8:50 am, didier deshommes [EMAIL PROTECTED] wrote: Hi there, NexentaOS (aka GNU/Solaris) is an open-source unix with the SunOS kernel and GNU tools on top of it. Package management is done with Debian's apt-get. I am investigating using NexentaOS as a file/media server on a newish P4 (mainly because of zfs) and thought I would try to build SAGE on it for fun. So far, the following packages compile (some with small modifications): bzip2-1.0.4 conway_polynomials-0.2 cremona_mini-0.1 dir-0.1 extcode-2.5.3 freetype-2.1.10 gd-2.0.33.p4 gdmodule-0.56.p4 givaro-3.2.6 gmp-4.2.1.p6 graphs-0.1 gsl-1.9 iml-1.0.1.p6 ipython-0.8.0.p1 libpng-1.2.16.p3 linbox-20070522 (has to compile w/o --enable-optimization) matplotlib-0.90.0.p2 (requires python modification in pyconfig.h) mercurial-0.9.3.p1 mpfi-1.3.4-rc3.p4 mpfr-2.2.1 mwrank-20061123 ntl-5.4.1.p3 (passes erroneous -Kpic flag to gcc instead of - fPIC) numpy-20070307 openssl-0.9.8d.p1 pari-2.3.1.cvs-20070305 pexpect-2.0.p1 prereq-0.2 pycrypto-2.0.1 python-2.5.1.p2 readline-5.2 sage_c_lib-2.5.3 sage_scripts-2.5.3 sagex-20070504 sqlite-3.3.17.p1 termcap-1.3.1 zlib-1.2.3.p2 However with Singular (more specifically libSingular), I'm hitting a wall . Here's the output I get: {{{ /usr/lib/gcc/i386-pc-solaris2.11/3.4.6/crt1.o: In function `_start':crt1.s:(.text+0x59): undefined reference to `main' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tgetnum' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tgoto' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tgetflag' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tputs' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tgetent' /export/home/dfdeshom/custom/sage-2.5.3/local/lib/libreadline.so: undefined reference to `tgetstr' collect2: ld returned 1 exit status make[1]: *** [libsingular] Error 1 }}} Any ideas? It looks like building SAGE on Nexenta should be possible. Hello, as far as I can tell these are symbols from the termcap library. Could you post the exact command of the compiler/linker before the failure? There have been several efforts to get SAGE to build and run on proper Solaris, so I might be worthwhile that you post some patches. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Building SAGE on NexentaOS?
Hello, as far as I can tell these are symbols from the termcap library. Sorry, I should have written curses/ncurses library - too early for me. Could you post the exact command of the compiler/linker before the failure? There have been several efforts to get SAGE to build and run on proper Solaris, so I might be worthwhile that you post some patches. Cheers, Michael Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Building SAGE on NexentaOS?
The problem doesn't seem to be with libtermcap or curses. It's a flag problem. When compiling libsingular, the --shared flag has to be passed to gcc, instead of the default -export-dynamic. For that, the Makefile in Singular/Makefile has to have a secial section for nexentaos as follows: {{{ ifeq ($(SINGUNAME),ix86-nexentaos) SO_SUFFIX = so LIBSINGULAR_FLAGS = --shared LIBSINGULAR_LIBS = -lsingfac -lsingcf -lntl -lreadline -lgmp -lomalloc_ndebug endif }}} And for singular to find ix86-nexentaos, singuname.sh has to have the following: {{{ elif (echo $uname_a | $egrep SunOS $devnull) then # NexentaOS ### if (echo $uname_a | $egrep NexentaOS $devnull) then #echo echo ${prefix}-nexentaos #echo #exit 0 else echo ix86-SunOS #exit 0 fi exit 0 }}} Problem is, I don't know how to tell the make file Singular/Makefile that --shared has to be passed to gcc for nexentaos. I could just stick the first fragment showed above, but Singular/Makefile is generated dynamically. How do I stick this piece of code in Singular/Makefile dynamically? didier On 5/29/07, mabshoff [EMAIL PROTECTED] wrote: Hello, as far as I can tell these are symbols from the termcap library. Sorry, I should have written curses/ncurses library - too early for me. Could you post the exact command of the compiler/linker before the failure? There have been several efforts to get SAGE to build and run on proper Solaris, so I might be worthwhile that you post some patches. Cheers, Michael Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Building SAGE on NexentaOS?
On 5/29/07, Martin Albrecht [EMAIL PROTECTED] wrote: Hi, just stick it into Makefile.in. This is the source for the Makefile. That did it and Singular built succesfully! On 5/29/07, William Stein [EMAIL PROTECTED] wrote: Wow, Didier, many thanks for helping with the Solaris port of SAGE! I've been wanting to finish this forever, and got stuck -- for example on linbox -- your help is *greatly* appreciated. Some of my notes related to this are here: http://sage.math.washington.edu/home/was/lj/todo.txt Again, thanks! I consider most of it to be pure luck (e.g. the linbox problem). I'm seeing how far I can push it :) Other packages that built: extcode-2.5.3 freetype-2.1.10 gap-4.4.9 gd-2.0.33.p4 quaddouble-2.2.p6 (with some modifications. Solaris has a known bug with isinfinity(double)) sage-2.5.3 (with some modifications to real_rqdf.p*) sage_c_lib-2.5.3 sage_scripts-2.5.3 sagex-20070504 sqlite-3.3.17.p1 zodb3-3.6.0.p1 I'm now having trouble building clisp. The errrors I get all look like this {{{ :/export/home/dfdeshom/custom/sage-2.5.3/spkg/standard/clisp-2.41.p2/src/syscalls/calls.c:2151: undefined reference to `uint64_to_I' :/export/home/dfdeshom/custom/sage-2.5.3/spkg/standard/clisp-2.41.p2/src/syscalls/calls.c:2161: undefined reference to `uint64_to_I' }}} I googled around and found that Joe Weening had already run into this problem and a solution (http://osdir.com/ml/mathematics.sage.general/2006-07/msg00011.html): 2. clisp-2.38/src/makemake.in sets BINARY_DISTRIB=1 for Solaris. This causes an incorrect definition of uint64_to_I (and perhaps other problems). Commenting out BINARY_DISTRIB=1 in makemake.in gave me a working clisp on 32-bit x86 Solaris. I'm still having problems with clisp on 32-bit and 64-bit SPARC Solaris. His solution does not seem to work for me. Does anyone has an idea of what to try? I wish I could just apt-get it but Nexenta doesn't seem to have it (it's still an alpha release). didier --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---