[sage-devel] Re: Building SAGE on NexentaOS?

2007-05-29 Thread mabshoff



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?

2007-05-29 Thread mabshoff



 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?

2007-05-29 Thread didier deshommes

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?

2007-05-29 Thread didier deshommes

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