Building mpir svn trunk (which for the Sun's is the same as mpir-1.2.2) ./configure && make -j && make -j check
ld.so.1: t-modlinv: fatal: /usr/local/gcc-4.2.4-sun-linker/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32 /bin/bash: line 1: 25188 Killed ${dir}$tst FAIL: t-modlinv ld.so.1: t-popc: fatal: /usr/local/gcc-4.2.4-sun-linker/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32 /bin/bash: line 1: 25208 Killed ${dir}$tst FAIL: t-popc ld.so.1: t-parity: fatal: /usr/local/gcc-4.2.4-sun-linker/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32 /bin/bash: line 1: 25228 Killed ${dir}$tst FAIL: t-parity ld.so.1: t-sub: fatal: /usr/local/gcc-4.2.4-sun-linker/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32 /bin/bash: line 1: 25248 Killed ${dir}$tst FAIL: t-sub ============================================================= 9 of 9 tests failed Please report to http://groups.google.co.uk/group/mpir-devel/ ============================================================= running source doesn't help but setting LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/sparc-solaris-toolchain/lib/sparcv9 LD=/usr/ccs/bin/sparcv9/ld does the job. What should pass , and what should not ? Thanks Jason On Friday 31 July 2009 01:16:46 Jason Moxham wrote: > On Wednesday 29 July 2009 01:28:08 David Kirkby wrote: > > 2009/7/28 jason <ja...@njkfrudils.plus.com>: > > > This issue of building mpir on freebsd64 has been fixed in release > > > 1.2.2 , which should be on the mpir main site in an hour or two. As > > > far as we are aware it should work on Suns , although on T2 , you > > > can't use the default linker with c++ and Suns cc , or at least that > > > used to be the case . > > > > Can you be more precise about the Sun issue? I found the mpir version > > in Sage would not build on Solaris x86, but would on Solaris SPARC. > > > > Here are a few facts, which you might find helpful if you are not > > familiar with Suns and Solaris. > > > > 0) Sun build machines based on both their own SPARC and Intel/AMD x86 > > processors. SPARC and x86 processors are totally incompatible at the > > assembly code level, so if you write assembly code, you need to write > > different versions. > > > > However, well written 'user-land' code writen in a high-level > > language should only need to be recompiled to run on x86 or SPARC > > hardware. > > > > 1) Sun provide a linker /opt/ccs/bin/ld which is installed with a full > > Solaris install. > > > > 2) Sun provide an assember /usr/ccs/bin/as which is installed with a > > full install of Solaris. > > > > 3) /opt/SUNWspro/bin/cc is a C compiler, not a C++ compiler. > > > > 4) /opt/SUNWspro/bin/CC is a C++ compiler. > > > > 5) Neither /opt/SUNWspro/bin/cc (C compiler) or /opt/SUNWspro/bin/CC > > (C++ compiler) are installed by default. You have to install them. > > Downloading SunStudio (free) is the way to do that. > > > > 6) Recent versions of Solaris provide /usr/sfw/bin/gcc (C compiler) > > and /usr/sfw/bin/g++ (C++ compiler). These are installed by default. > > > > 7) gcc on Solaris can be configured to use either the Sun or GNU > > linker and assembler. Different people configure GCC different ways, > > so you should not assume anything about the linker or assembler unless > > you test to see what gcc/g++ is using. > > > > 8) Sun do provide a GNU versions of a linker, as /usr/sfw/bin/gld > > Note the 'g' in front of the normal name for a linker. > > > > 9) Sun provide a GNU version of an assembler as /usr/sfw/bin/gas - > > again note the 'g' > > > > 10) In Solaris 10 update 7 (as used on 't2'), both /usr/sfw/bin/gcc > > and /usr/sfw/.bin/g++ use the Sun linker and assembler and ignore the > > GNU ones. But in general, you should not make assumptions about the > > linker or assembler. > > > > 11) Whilst the GNU and Sun compilers, assemblers and linkers share > > some options (compilers use -g for debugging), 95% of the options that > > can be used on the GNU tools can not be used on the Sun tools, and > > visa versa. > > > > Dave > > We test on T2 , mark , mark2 , gcc54 > > I know T2 has changed since our last test (which was when we released > mpir-1.2) , but our previous problems have been > > On T2 > > LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/sparc-solaris-toolchain/lib/spa >rcv9 LD=/usr/ccs/bin/sparcv9/ld > CC=cc > CXX=CC > ./configure --enable-cxx > /home/jasonmoxham/mpir/mpir/trunk/mpirxx.h", line 3080: Error: Ambiguous > partial specialization for __gmp_expr<__mpf_struct[1], > __gmp_binary_expr<long, __gmp_expr<__mpf_struct[1], __mpf_struct[1]>, > __gmp_binary_divides>>, __gmp_expr and __gmp_expr. > "/home/jasonmoxham/mpir/mpir/trunk/mpirxx.h", line 3080: Error: Ambiguous > partial specialization for __gmp_expr<_ > > on gcc54 a c++ error ? > > on mark ? > cc: Warning: -xarch=v9 is deprecated, use -m64 to create 64-bit programs > ld: warning: file ../../.libs/libmpir.so: linked to > /tmp/mark2/.libs/libmpir.so: attempted multiple inclusion of file > > Now that T2 has been updated I will retest it , I use a script so I will > try all possible combinations of linkers/compilers , as long as it takes < > 1day If there is too many combinations then I will have to prune them , > clearly I will try a "all gnu" toolchain , "all sun" toochain , if there > are any other common/usefull combinations then I can just add them to my > script , and they will be always be tested from now on. > > Jason > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---