Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 87790 - [STABLE] sci-mathematics/pari-2.1.6
Summary: [STABLE] sci-mathematics/pari-2.1.6
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-03 08:12 UTC by Danny van Dyk (RETIRED)
Modified: 2005-11-08 10:00 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
pari-2.1.6 ebuild with sparc64 fixes (pari-2.1.6.ebuild,1.96 KB, text/plain)
2005-05-21 14:52 UTC, Jason Wever (RETIRED)
Details
Patch pari-2.1.6.ebuild to build a working version of pari on sparc64 systems. (pari-2.1.6.patch,979 bytes, patch)
2005-11-08 08:52 UTC, Ferris McCormick (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Danny van Dyk (RETIRED) gentoo-dev 2005-04-03 08:12:05 UTC
sci-mathematics/pari-2.1.6 had some BUGs that are now fixed:
1) wrong multilib behaviour
2) wrong handling of -fPIC compiler flag
3) wrong usage of toolchain

These are all fixed now and i'd like you arches to stabilize version 2.1.6, in
order to clean the directory out a bit.

Additionally i added a src_test() function to the ebuild that merely tests the
kernel.
Comment 1 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2005-04-03 09:46:58 UTC
Stable on ppc.
Comment 2 Ferris McCormick (RETIRED) gentoo-dev 2005-04-03 09:48:59 UTC
This does not appear to build on sparc (U2, U60), kernel-2.4.x, 2.6.x, gcc shown below.

Error message is problem with assembly code; start of compile looks like this: (the CFLAGS are taken from make.conf):
==========================================

Shall we try to build pari 2.1.6 (released) now (y/n)? [n]
Ok. Type "make install" when you are ready
Bye !
cd Olinux-sparc; make gp
make[1]: Entering directory `/cache/tmp/portage/pari-2.1.6/work/pari-2.1.6/Olinux-sparc'
/usr/lib/distcc/bin/gcc -c -O2 -mcpu=ultrasparc -pipe -fno-pie -fno-PIE -DGCC_INLINE -I. -I../src/headers -I../src/language -I/usr/include -o gp.o ../src/gp/gp.c
/usr/lib/distcc/bin/gcc -c -O2 -mcpu=ultrasparc -pipe -fno-pie -fno-PIE -DGCC_INLINE -I. -I../src/headers -I../src/graph -o gp_init.o ../src/gp/gp_init.c
/usr/lib/distcc/bin/gcc -c -O2 -mcpu=ultrasparc -pipe -fno-pie -fno-PIE -DGCC_INLINE -I. -I../src/headers -I../src/language -I/usr/include -o gp_rl.o ../src/gp/gp_rl.c
/usr/lib/distcc/bin/gcc -c -O2 -mcpu=ultrasparc -pipe -fno-pie -fno-PIE -DGCC_INLINE -I. -I../src/headers  -o highlvl.o ../src/gp/highlvl.c
pariinl.h: In function `mulssmod':
pariinl.h:887: error: asm-specifier for variable `hiremainder' conflicts with asm clobber list
distcc[16287] ERROR: compile ../src/gp/gp_init.c on terciopelo/2 failed
make[1]: *** [gp_init.o] Error 1
make[1]: *** Waiting for unfinished jobs....
pariinl.h: In function `mulssmod':
pariinl.h:887: error: asm-specifier for variable `hiremainder' conflicts with asm clobber list
distcc[16294] ERROR: compile ../src/gp/highlvl.c on localhost failed
make[1]: *** [highlvl.o] Error 1
../src/gp/gp_rl.c: In function `get_matches':
../src/gp/gp_rl.c:309: warning: assignment makes pointer from integer without a cast
pariinl.h: In function `mulssmod':
pariinl.h:887: error: asm-specifier for variable `hiremainder' conflicts with asm clobber list
distcc[16289] ERROR: compile ../src/gp/gp_rl.c on terciopelo/2 failed
make[1]: *** [gp_rl.o] Error 1
make: *** [gp] Error 2
=============================================================
(Even though this is distcc, it fails at this point, no matter which kerneled machine gets that module.)

Here's gcc version.  Although this compiler is hardened, failure still occurs if you soften it a bit with '-fno-pie -fno-PIE' (shouldn't matter, but for completeness I'm including the information.)
========================================
Reading specs from /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.5-20050130/specs
Configured with: /home1/cache/tmp/portage/gcc-3.3.5.20050130-r1/work/gcc-3.3.5/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/sparc-unknown-linux-gnu/gcc-bin/3.3.5-20050130 --includedir=/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.5-20050130/include --datadir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.3.5-20050130 --mandir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.3.5-20050130/man --infodir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.3.5-20050130/info --with-gxx-include-dir=/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.5-20050130/include/g++-v3 --host=sparc-unknown-linux-gnu --disable-altivec --enable-nls --without-included-gettext --enable-__cxa_atexit --disable-sjlj-exceptions --enable-clocale=gnu --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libgcj --enable-languages=c,c++,f77 --enable-shared --enable-threads=posix
Thread model: posix
gcc version 3.3.5-20050130 (Gentoo Hardened Linux 3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)
============================================
Comment 3 Ferris McCormick (RETIRED) gentoo-dev 2005-04-03 10:00:39 UTC
A couple more sparc comments:
(1) I see I showed the failure with the softening options.  It fails the same way without them
(2) For your information, pari-2.1.5-r4 also fails, but with it, it's because there are some missing externals:
=====================================
/usr/bin/gcc -o gp-dyn -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer   -Xlinker -export-dynamic gp.o gp_init.o gp_rl.o highlvl.o whatnow.o plot.o plotport.o  -Xlinker -rpath -Xlinker  /cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc:/usr/lib:/usr/lib -L/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc -L/lib -lreadline -lncurses -L/usr/lib -lpari -L/usr/lib -lX11  -ldl -lm
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `mulll'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `subllx'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `addllx'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `overflow'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `hiremainder'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `addmul'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `addll'
/cache/tmp/portage/pari-2.1.5-r4/work/pari-2.1.5/Olinux-sparc/libpari.so: undefined reference to `subll'
====================================
Comment 4 Ferris McCormick (RETIRED) gentoo-dev 2005-04-03 10:12:08 UTC
Further sparc comment:
If I had to guess, I'd say that some of these problems start when the build decides that my system (ultrasparc=sparcv9) is
actually sparcv8.  I don't know if that is because we run in v9,32-bit-user-mode, or because it just gets it wrong.

I might look at it further, but not at a very high priority, so don't feel compelled to wait for me. :)  (I actually know what pari is and don't need it for anything right now.)
Comment 5 Hardave Riar (RETIRED) gentoo-dev 2005-04-03 22:34:06 UTC
Stable on mips.
Comment 6 Bryan Østergaard (RETIRED) gentoo-dev 2005-04-06 03:26:36 UTC
Alpha done.
Comment 7 Ferris McCormick (RETIRED) gentoo-dev 2005-04-09 07:47:15 UTC
I've removed the ~sparc keyword.  Until this pari-2.1.6-xxx actually builds on ~sparc, it cannot be tested.
See Comments 3 and 4 above for details.  I'm leaving sparc on the CC list because this should be revisited after the build for sparc is made to work.
Comment 8 Olivier Crete (RETIRED) gentoo-dev 2005-04-12 16:49:57 UTC
x86 there
Comment 9 Sean O'Riordain 2005-05-04 23:24:24 UTC
on x86 stable i'm finding an ebuild circle between 2.1.6 and 2.1.5-r4... ie when i do an emerge -uDv world it will install 2.1.6 and uninstall 2.1.5-r4... next time around it will install 2.1.5-r4 and un-install 2.1.6 - both build fine...
Comment 10 Jason Wever (RETIRED) gentoo-dev 2005-05-21 14:52:42 UTC
Created attachment 59483 [details]
pari-2.1.6 ebuild with sparc64 fixes

This ebuild fixes the compilation issues on sparc64 systems.  However sparc32
systems suffer the same problems that sparc64 systems did previously.
Comment 11 Ferris McCormick (RETIRED) gentoo-dev 2005-05-23 10:24:26 UTC
I can confirm that attachment id=59483 does build a working pari (gp) for
sparc64.  It runs its examples, and pariguide works, too, if you like that sort
of thing.
Comment 12 George Shapovalov (RETIRED) gentoo-dev 2005-11-08 06:47:45 UTC
So, what's up with this one? Why are the changes for sparc not in yet? Is   
anything holding it or do sparc people simply want sci people to add them? I  
think it would be wise for the spacr people to do this, as I am not sure the  
sci people may easily test it. Anybody on sci having a sparc machine? The herds  
do not seem to intersect..  
  
Please observe that ebuild has changed (some optimization and amd64 fixes)  
since this last version was produced. Please base your fix on the latest  
version in the tree (and for this same reason it is preferable to post diffs  
instead).  
  
I approve the following changes:  
  
@@ -26,8 +26,12 @@  
        # Fix usage of toolchain  
        tc-getAS; tc-getLD; tc-getCC; tc-getCXX  
  
+       local myhost  
+       [ "${PROFILE_ARCH}" == "sparc64" ] && myhost="sparc64-linux" \  
+               || myhost="$(echo ${CHOST} | cut -f "1 3" -d '-')"  
+  
        ./Configure \  
-               --host="$(echo ${CHOST} | cut -f "1 3" -d '-')" \  
+               --host="${myhost}" \  
                --prefix=/usr \  
                --miscdir=/usr/share/doc/${PF} \  
                --datadir=/usr/share/${P} \  
  
the rest of diff chunks I saw I suspect have to deal with ebuild changes since  
this fix was suggested. Please adjust accordingly.  
 
George  
Comment 13 Ferris McCormick (RETIRED) gentoo-dev 2005-11-08 07:18:39 UTC
(In reply to comment #12)
> So, what's up with this one? Why are the changes for sparc not in yet? Is   
> anything holding it or do sparc people simply want sci people to add them? I  
> think it would be wise for the spacr people to do this, as I am not sure the  
> sci people may easily test it. Anybody on sci having a sparc machine? The herds  
> do not seem to intersect..  
>   
> Please observe that ebuild has changed (some optimization and amd64 fixes)  
> since this last version was produced. Please base your fix on the latest  
> version in the tree (and for this same reason it is preferable to post diffs  
> instead).  
>   
> I approve the following changes:  
>   
> @@ -26,8 +26,12 @@  
>         # Fix usage of toolchain  
>         tc-getAS; tc-getLD; tc-getCC; tc-getCXX  
>   
> +       local myhost  
> +       [ "${PROFILE_ARCH}" == "sparc64" ] && myhost="sparc64-linux" \  
> +               || myhost="$(echo ${CHOST} | cut -f "1 3" -d '-')"  
> +  
>         ./Configure \  
> -               --host="$(echo ${CHOST} | cut -f "1 3" -d '-')" \  
> +               --host="${myhost}" \  
>                 --prefix=/usr \  
>                 --miscdir=/usr/share/doc/${PF} \  
>                 --datadir=/usr/share/${P} \  
>   
> the rest of diff chunks I saw I suspect have to deal with ebuild changes since  
> this fix was suggested. Please adjust accordingly.  
>  
> George  

(In reply to comment #12)
> So, what's up with this one? Why are the changes for sparc not in yet? Is   
> anything holding it or do sparc people simply want sci people to add them? I  
> think it would be wise for the spacr people to do this, as I am not sure the  
> sci people may easily test it. Anybody on sci having a sparc machine? The herds  
> do not seem to intersect..  
>   
> Please observe that ebuild has changed (some optimization and amd64 fixes)  
> since this last version was produced. Please base your fix on the latest  
> version in the tree (and for this same reason it is preferable to post diffs  
> instead).  
>   
> I approve the following changes:  
>   
> @@ -26,8 +26,12 @@  
>         # Fix usage of toolchain  
>         tc-getAS; tc-getLD; tc-getCC; tc-getCXX  
>   
> +       local myhost  
> +       [ "${PROFILE_ARCH}" == "sparc64" ] && myhost="sparc64-linux" \  
> +               || myhost="$(echo ${CHOST} | cut -f "1 3" -d '-')"  
> +  
>         ./Configure \  
> -               --host="$(echo ${CHOST} | cut -f "1 3" -d '-')" \  
> +               --host="${myhost}" \  
>                 --prefix=/usr \  
>                 --miscdir=/usr/share/doc/${PF} \  
>                 --datadir=/usr/share/${P} \  
>   
> the rest of diff chunks I saw I suspect have to deal with ebuild changes since  
> this fix was suggested. Please adjust accordingly.  
>  
> George  

Are you asking sparc to make these changes to the ebuild?  If so, that is
possible, but we don't typically make these sorts of changes unless the
maintainer requests us to.  Otherwise, we get stomped on. :)

If that's what you want, I can take care of it (or any other sparc person can,
if some sparc developer is passionate about pari. :) )
Comment 14 Ferris McCormick (RETIRED) gentoo-dev 2005-11-08 08:52:43 UTC
Created attachment 72458 [details, diff]
Patch pari-2.1.6.ebuild to build a working version of pari on sparc64 systems.

The attached patch applies Weeve's fix to pari-2.1.6.ebuild in cvs, date 8
November 2005.	With this patch, pari-2.1.6 builds, installs, and runs (so far
as I can tell) correctly.

If you like, I can commit it, but will not do so without permission.
Regards,
Ferris
Comment 15 George Shapovalov (RETIRED) gentoo-dev 2005-11-08 09:02:43 UTC
Well, I was writing my answer at the very moment and it got blocked by the 
attachment. Anyway it is obsolete now :). 
The patch looks fine to me, I'll commit it in the evening (need to run to catch 
the train atm :)). 
 
George 
Comment 16 George Shapovalov (RETIRED) gentoo-dev 2005-11-08 09:44:33 UTC
Committed, thanks for the fix! 
Closing now, as sparc was the last one.. Although as I understand sparc32 still 
has some issues.. Please reopen if there is hope of getting something done for 
it. Closing with TEST-REQUEST for now, as a reminder to actually stabilize it.. 
(right now it is ~sparc). 
  
George  
Comment 17 Ferris McCormick (RETIRED) gentoo-dev 2005-11-08 10:00:02 UTC
Yes, sparc32 has issues.  The obvious fix:
=========================================
>       myhost=""
>       [ "${PROFILE_ARCH}" == "sparc64" ] && myhost="sparc64-linux"
>       [ "${PROFILE_ARCH}" == "sparc" ]   && myhost="sparc-linux"
>       [ -z "${myhost}" ] && myhost="$(echo ${CHOST} | cut -f "1 3" -d '-')" 
>       einfo "And build for ${myhost}"
==========================================
sets up properly to build for sparcv8, but fails in the assembler during build with:
../src/kernel/none/mp.c: In function `addsispec':
../src/kernel/none/mp.c:76: error: asm-specifier for variable `overflow'
conflicts with asm clobber list

I'll look more closely at it later (but to be honest, not with very high
priority because this is not a good application for sparc32 anyway) and if the
problem becomes apparent, I'll post an update.  ~sparc keyword should be fine,
though, for pari.