#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.

Reply via email to