On 5/29/07, didier deshommes <[EMAIL PROTECTED]> wrote:
> (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.
> """

This is actually the right solution: I forgot to make dist-clean. SAGE
now builds on my machine! Here's  a set of notes I took during the
whole process:

"""
Use gcc-3.4 with Nexenta since gcc-4.0 is said to be buggy:
sudo apt-get install gcc-3.4 g++-3.4 m4 bison flex libtool autoconf automake

Make the OS find a gcc/g++ (nexenta bug):
ln -s /usr/bin/gcc-3.4 /usr/bin/gcc
ln -s /usr/bin/g++-3.4 /usr/bin/g++

Modify SHAREDFLAGS so that NTL passes the right one to accept -fPIC
instead of -Kpic:
SHAREDFLAGS=-fPIC

Build Linbox without the --enable-optimization option (for now?).

Modify Python for Matplotlib:
http://www.scipy.org/Cookbook/Matplotlib/CompilingMatPlotLibOnSolaris10

Modify Singular's singuname.sh script. Modify Singular's Singluar/Makefile file:
[sage-devel discussion]

Modify quaddouble's include/qd/qd_inline (this is a known bug for
\infty on solaris)
Taken from mysql mailing list (http://lists.mysql.com/commits/24366):
#if !defined(HAVE_ISINF)
     /* The configure check for "isinf with math.h" has failed */
#ifdef isinf
#undef isinf
#endif

In sage/rings/real_rqdf.pyx,  explicitly define NAN and INFINITY:
cdef double NAN = 0.0/0.0
cdef double INFINITY = 1.0/0.0

Modify sage/rings/real_rqdf.pxd to include isfinite for solaris:
cdef extern from "ieeefp.h":
   int finite(double)

Modify clisp:
(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.
"""

lcalc: conflict in include/getopt.h. . Commented out:
extern int getopt (int __argc_, char *const *__argv_, const char *__shortopts);
# else /* not __GNU_LIBRARY__ */
 /* breaks on Solaris: extern int getopt (); */
 # endif /* __GNU_LIBRARY__ */

sympow: there is no hard link on NexentaOS to /usr/bin/cc (nexenta
bug). Create it like this:
sudo ln -s /usr/bin/gcc /usr/bin/cc

cddlib: Copied a new sage/allfaces.c that compiles on Nexenta.

tachyon3d: added an if statement in spkg-install:
if [ $UNAME = "SunOS" ]; then
    ne=`uname -v|grep -i nexenta`
    if [ $ne ]; then
        make solaris-pthreads-gcc
        finished
    fi
    make solaris-thr
    finished
fi

flintqs: Solaris doesn't know about u_int*_t.
In F2matrix.h:
/* Some platforms don't support u_int_32 */
typedef uint32_t u_int32_t;
In lanczos.h:
/* Some platforms don't support u_int_64 */
#ifndef u_int64_t
#define u_int64_t unsigned long long int
#endif
"""

I'll be building these packages on other platforms to see if anything breaks.

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

Reply via email to