#9042: Cython fails to build in OpenSolaris x64
------------------------+---------------------------------------------------
Reporter: drkirkby | Owner: drkirkby
Type: defect | Status: new
Priority: major | Milestone: sage-4.4.3
Component: solaris | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------+---------------------------------------------------
== Build environment ==
* Sun Ultra 27 3.33 GHz Intel W3580 Xeon. Quad core. 8 threads. 12 GB RAM
* !OpenSolaris 2009.06 snv_134 X86
* Sage 4.4.2
* gcc 4.4.4
== How gcc 4.4.4 was configured ==
Since the configuration of gcc is fairly critical on !OpenSolaris, here's
how it was built.
{{{
drkir...@hawk:~/sage-4.4.2$ gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.4.4/configure --prefix=/usr/local/gcc-4.4.4
--with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld
--with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.4.4 (GCC)
}}}
gcc 4.3.4 was failing to build iconv.
== How the Sage build was attempted ==
* 64-bit build. SAGE64 was set to "yes"
* #9008 update zlib to latest upstream release to allow a 64-bit library
to be built.
* #9009 update mercurial spkg to build 64-bit.
* #7982 update sage_fortran so it can build 64-bit binaries.
* Run 'make -k' so make did not stop on errors, so errors can be listed.
== How Python was build ==
It should be noted that python builds as a 64-bit application. There is no
need to set any environment variables like CFLAGS for Python to build
64-bit.
{{{
drkir...@hawk:~/sage-4.4.2$ file local/bin/python
local/bin/python: ELF 64-bit LSB executable AMD64 Version 1,
dynamically linked, not stripped
}}}
We can see a few modules did not build
{{{
ailed to find the necessary bits to build these modules:
_bsddb bsddb185 dl
gdbm imageop linuxaudiodev
ossaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the
module's name.
Failed to build these modules:
_curses _curses_panel _socket
_ssl _tkinter sunaudiodev
}}}
The faillure of _socket to build has caused problems with pygments (#9041)
and ipython (#9022), but does not seem to be the cause of the problem with
Cython.
== The problem with Cython ==
This is related to #8116, which was closed as invalid, but it would appear
the problem can still rear its ugly head.
{{{
copying Cython/Includes/python_version.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Includes
copying Cython/Includes/numpy.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Includes
copying Cython/Includes/python_bytes.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Includes
copying Cython/Includes/python_method.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Includes
copying Cython/Includes/python_ref.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Includes
copying Cython/Plex/Scanners.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Plex
copying Cython/Compiler/Parsing.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Compiler
copying Cython/Compiler/Scanning.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Compiler
copying Cython/Compiler/Visitor.pxd ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Compiler
copying Cython/Runtime/refnanny.pyx ->
build/lib.solaris-2.11-i86pc-2.6/Cython/Runtime
running build_ext
building 'Cython.Plex.Scanners' extension
creating build/temp.solaris-2.11-i86pc-2.6
creating build/temp.solaris-2.11-i86pc-2.6/export
creating build/temp.solaris-2.11-i86pc-2.6/export/home
creating build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby
creating build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src/Cython
creating
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src/Cython/Plex
gcc -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC
-I/export/home/drkirkby/sage-4.4.2/local/include/python2.6 -c
/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src/Cython/Plex/Scanners.c
-o
build/temp.solaris-2.11-i86pc-2.6/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src/Cython/Plex/Scanners.o
In file included from
/export/home/drkirkby/sage-4.4.2/local/include/python2.6/Python.h:58,
from
/export/home/drkirkby/sage-4.4.2/spkg/build/cython-0.12.1/src/Cython/Plex/Scanners.c:4:
/export/home/drkirkby/sage-4.4.2/local/include/python2.6/pyport.h:685:2:
error: #error "LONG_BIT definition appears wrong for platform (bad
gcc/glibc config?)."
error: command 'gcc' failed with exit status 1
Error installing Cython
real 0m4.426s
user 0m3.907s
sys 0m0.505s
sage: An error occurred while installing cython-0.12.1
}}}
== The likely cause ==
The -m64 flag is not being used in the compile line shown, but Python was
built 64-bit, so I suspect the issue is related to a mix of 32-bit and
64-bit code.
== Other !OpenSolaris issues ==
Some other problems which are failing to allow Sage to build 64-bit on
!OpenSolaris are listed at #9026.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9042>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.