#7861: pynac not building on Open Solaris x64 (32-bit/64-bit mixup). No
spkg-check
either.
----------------------------+-----------------------------------------------
Reporter: drkirkby | Owner: drkirkby
Type: defect | Status: new
Priority: major | Milestone: sage-4.5
Component: solaris | Keywords:
Author: David Kirkby | Upstream: None of the above - read trac for
reasoning.
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Changes (by newvalueoldvalue):
* cc: robertwb, burchin, was, jhpalmieri (added)
* author: => David Kirkby
Comment:
I've found a workaround for pynac failing to install on !OpenSolaris,
though it is not ideal. The workaround is only performed on Solaris or
!OpenSolaris and only for 64-bit builds.
I've added the directory containing GCC's 64-bit libraries at the front of
the linker search path, which for my particular installation is
/usr/local/gcc-4.4.4-multilib/lib/amd64
On a SPARC system, the 'amd64' would be replaced by 'sparcv9'. The exact
directory is determined using 'isainfo -n' and the path to gcc.
On a SPARC
{{{
drkir...@kestrel:~$ isainfo -n
sparcv9
}}}
On a Xeon
{{{
drkir...@hawk:~$ isainfo -n
amd64
}}}
Libtool, which is used by pynac should take care of all this - it should
not be necessary for me to do it. But this works, though it would break if
the directories containing the binaries (gcc, g++ etc) did not share the
same parent as those containing the libraries. Fortunately, it is rare for
people to install gcc that way.
{{{
pynac-0.2.0.p4/src/pynac.pc.in
pynac-0.2.0.p4/src/COPYING
pynac-0.2.0.p4/src/aclocal.m4
Finished extraction
****************************************************
Host system
uname -a:
SunOS hawk 5.11 snv_134 i86pc i386 i86pc
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: /export/home/drkirkby/gcc-4.4.4/configure
--prefix=/usr/local/gcc-4.4.4-multilib --enable-languages=c,c++,fortran
--with-gmp=/usr/local/gcc-4.4.4-multilib --with-
mpfr=/usr/local/gcc-4.4.4-multilib --disable-nls --enable-checking=release
--enable-werror=no --enable-multilib --with-system-zlib --enable-bootstrap
--with-gnu-as --with-as=/usr/local/binutils-2.20/bin/as --without-gnu-ld
--with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.4.4 (GCC)
****************************************************
Building a 64-bit version of pynac
64-bit libraries for GCC are assumed to be in
/usr/local/gcc-4.4.4-multilib/lib/amd64
so compiler flags -R/usr/local/gcc-4.4.4-multilib/lib/amd64 and
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 will be added
WARNING - these assumptions may be incorrect if GCC was
configured with options like --bindir=DIR or --libdir=DIR
but will be fine for most installations of gcc
Long-term, a better solution needs to be found
Starting build...
Running build_pynac...
checking for a BSD-compatible install... /usr/bin/ginstall -c
<snip>
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration of GiNaC 0.2.0 done. Now type "make".
make all-recursive
make[1]: Entering directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src'
Making all in ginac
make[2]: Entering directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src/ginac'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -fPIC
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64 -MT py_funcs.lo -MD -MP
-MF .deps/py_funcs.Tpo -c -o py_funcs.lo py_funcs.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -fPIC
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64 -MT py_funcs.lo -MD -MP -MF
.deps/py_funcs.Tpo -c py_funcs.cpp -fPIC -DPIC -o .libs/py_funcs.o
mv -f .deps/py_funcs.Tpo .deps/py_funcs.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -fPIC
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64 -MT add.lo -MD -MP -MF
.deps/add.Tpo -c -o add.lo add.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -fPIC
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64 -MT add.lo -MD -MP -MF
.deps/add.Tpo -c add.cpp -fPIC -DPIC -o .libs/add.o
mv -f .deps/add.Tpo .deps/add.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -fPIC
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64
-R/usr/local/gcc-4.4.4-multilib/lib/amd64
-L/usr/local/gcc-4.4.4-multilib/lib/amd64 -m64 -MT archive.lo -MD -MP -MF
.deps/archive.Tpo -c -o archive.lo archive.cpp
}}}
After some time, this builds. The test suite passes without error, though
the fact the test suite finishes almost instantly makes me wonder if any
tests are actually run.
{{{
Done installing pynac.
real 0m39.461s
user 0m33.296s
sys 0m4.679s
Successfully installed pynac-0.2.0.p4
Running the test suite.
Testing a 64-bit version of pynac
Making check in ginac
make[1]: Entering directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src/ginac'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src/ginac'
make[1]: Entering directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src'
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4/src'
Now cleaning up tmp files.
rm: Cannot remove any directory in the path of the current working
directory
/export/home/drkirkby/sage-4.5.alpha0/spkg/build/pynac-0.2.0.p4
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing pynac-0.2.0.p4.spkg
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7861#comment:3>
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.