Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 87790
Alias:
Product:
Component:
Status: RESOLVED
Resolution: TEST-REQUEST
Assigned To: Gentoo Science Related Packages <sci@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Danny van Dyk (RETIRED) <kugelfang@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
pari-2.1.6.ebuild pari-2.1.6 ebuild with sparc64 fixes text/plain Jason Wever (RETIRED) 2005-05-21 14:52 0000 1.96 KB Details
pari-2.1.6.patch Patch pari-2.1.6.ebuild to build a working version of pari on sparc64 systems. patch Ferris McCormick 2005-11-08 08:52 0000 979 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 87790 depends on: Show dependency tree
Bug 87790 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-04-03 08:12 0000
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 From Michael Hanselmann (hansmi) (RETIRED) 2005-04-03 09:46:58 0000 -------
Stable on ppc.

------- Comment #2 From Ferris McCormick 2005-04-03 09:48:59 0000 -------
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 From Ferris McCormick 2005-04-03 10:00:39 0000 -------
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 From Ferris McCormick 2005-04-03 10:12:08 0000 -------
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 From Hardave Riar (RETIRED) 2005-04-03 22:34:06 0000 -------
Stable on mips.

------- Comment #6 From Bryan Østergaard (RETIRED) 2005-04-06 03:26:36 0000 -------
Alpha done.

------- Comment #7 From Ferris McCormick 2005-04-09 07:47:15 0000 -------
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 From Olivier Crete 2005-04-12 16:49:57 0000 -------
x86 there

------- Comment #9 From Sean O'Riordain 2005-05-04 23:24:24 0000 -------
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 From Jason Wever (RETIRED) 2005-05-21 14:52:42 0000 -------
Created an attachment (id=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 From Ferris McCormick 2005-05-23 10:24:26 0000 -------
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 From George Shapovalov 2005-11-08 06:47:45 0000 -------
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 From Ferris McCormick 2005-11-08 07:18:39 0000 -------
(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 From Ferris McCormick 2005-11-08 08:52:43 0000 -------
Created an attachment (id=72458) [details]
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 From George Shapovalov 2005-11-08 09:02:43 0000 -------
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 From George Shapovalov 2005-11-08 09:44:33 0000 -------
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 From Ferris McCormick 2005-11-08 10:00:02 0000 -------
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.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug