#10000: GSL library fails to install on AIX 5.3
----------------------------------+-----------------------------------------
Reporter: drkirkby | Owner: drkirkby
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.7
Component: AIX or HP-UX ports | Keywords: gcc-bug
Author: | Upstream: Reported upstream. Developers
acknowledge bug.
Reviewer: | Merged:
Work_issues: |
----------------------------------+-----------------------------------------
Changes (by drkirkby):
* status: new => needs_review
Old description:
> == Hardware and Software ==
> * IBM
> [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/rs6000_7025f50series.htm
> RS/6000 7025 F50]
> * 4 x 332 MHz 32-bit PowerPC CPUs
> * 3 GB RAM
> * A fairly wide mixture of disks sizes (3 x 9 GB, 1 x 18 GB, 2 x 36 GB
> and 1 x 73 GB)
> * DDS-4 tape drive
> * AIX 5.3 (A POSIX certified operating system)
> * gcc 4.2.4 downloaded from [http://pware.hvcc.edu/ pware]
> * sage-4.6.alpha1
>
> == The problem ==
> {{{
> gsl-1.14/src/
> gsl-1.14/src/multimin/
> "gsl-1.14.log" 2326 lines, 99663 characters
> mv -f .deps/print.Tpo .deps/print.Plo
> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
> -I.. -g -O2 -MT make_rep.lo -MD -MP -MF .deps/make_rep.Tpo
> -c -o make_rep.lo make_rep.c
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT
> make_rep.lo -MD -MP -MF .deps/make_rep.Tpo -c make_rep.c -DPIC -o .lib
> s/make_rep.o
> mv -f .deps/make_rep.Tpo .deps/make_rep.Plo
> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
> -I.. -g -O2 -MT env.lo -MD -MP -MF .deps/env.Tpo -c -o env
> .lo env.c
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT env.lo
> -MD -MP -MF .deps/env.Tpo -c env.c -DPIC -o .libs/env.o
> mv -f .deps/env.Tpo .deps/env.Plo
> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
> -I.. -g -O2 -MT fp.lo -MD -MP -MF .deps/fp.Tpo -c -o fp.lo
> fp.c
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT fp.lo -MD
> -MP -MF .deps/fp.Tpo -c fp.c -DPIC -o .libs/fp.o
> In file included from fp.c:22:
> fp-aix.c: In function 'gsl_ieee_set_mode':
> fp-aix.c:30: error: 'fprnd_t' undeclared (first use in this function)
> fp-aix.c:30: error: (Each undeclared identifier is reported only once
> fp-aix.c:30: error: for each function it appears in.)
> fp-aix.c:30: error: expected ';' before 'rnd'
> fp-aix.c:55: error: 'rnd' undeclared (first use in this function)
> fp-aix.c:55: error: 'FP_RND_RN' undeclared (first use in this function)
> fp-aix.c:59: error: 'FP_RND_RM' undeclared (first use in this function)
> fp-aix.c:63: error: 'FP_RND_RP' undeclared (first use in this function)
> fp-aix.c:67: error: 'FP_RND_RZ' undeclared (first use in this function)
> make[2]: *** [fp.lo] Error 1
> make[2]: Leaving directory
> `/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14/src/ieee-utils'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14/src'
> make: *** [all] Error 2
> Error building GSL
>
> real 7m59.053s
> user 5m41.085s
> sys 0m49.623s
> sage: An error occurred while installing gsl-1.14
> }}}
>
> == Possible Solution ==
> The same problem has been reported before against AIX 5.2
>
> http://osdir.com/ml/lib.gsl.bugs/2006-06/msg00006.html
>
> where a solution has been given. Whether this is a hack or not is not
> certain. It may be appropriate for the PowerPC architecture.
New description:
== Hardware and Software ==
* IBM
[http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/rs6000_7025f50series.htm
RS/6000 7025 F50]
* 4 x 332 MHz 32-bit PowerPC CPUs
* 3 GB RAM
* A fairly wide mixture of disks sizes (3 x 9 GB, 1 x 18 GB, 2 x 36 GB
and 1 x 73 GB)
* DDS-4 tape drive
* AIX 5.3 (A POSIX certified operating system)
* gcc 4.2.4 downloaded from [http://pware.hvcc.edu/ pware]
* sage-4.6.alpha1
== The problem ==
{{{
gsl-1.14/src/
gsl-1.14/src/multimin/
"gsl-1.14.log" 2326 lines, 99663 characters
mv -f .deps/print.Tpo .deps/print.Plo
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
-I.. -g -O2 -MT make_rep.lo -MD -MP -MF .deps/make_rep.Tpo
-c -o make_rep.lo make_rep.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT
make_rep.lo -MD -MP -MF .deps/make_rep.Tpo -c make_rep.c -DPIC -o .lib
s/make_rep.o
mv -f .deps/make_rep.Tpo .deps/make_rep.Plo
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
-I.. -g -O2 -MT env.lo -MD -MP -MF .deps/env.Tpo -c -o env
.lo env.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT env.lo -MD
-MP -MF .deps/env.Tpo -c env.c -DPIC -o .libs/env.o
mv -f .deps/env.Tpo .deps/env.Plo
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I..
-I.. -g -O2 -MT fp.lo -MD -MP -MF .deps/fp.Tpo -c -o fp.lo
fp.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT fp.lo -MD
-MP -MF .deps/fp.Tpo -c fp.c -DPIC -o .libs/fp.o
In file included from fp.c:22:
fp-aix.c: In function 'gsl_ieee_set_mode':
fp-aix.c:30: error: 'fprnd_t' undeclared (first use in this function)
fp-aix.c:30: error: (Each undeclared identifier is reported only once
fp-aix.c:30: error: for each function it appears in.)
fp-aix.c:30: error: expected ';' before 'rnd'
fp-aix.c:55: error: 'rnd' undeclared (first use in this function)
fp-aix.c:55: error: 'FP_RND_RN' undeclared (first use in this function)
fp-aix.c:59: error: 'FP_RND_RM' undeclared (first use in this function)
fp-aix.c:63: error: 'FP_RND_RP' undeclared (first use in this function)
fp-aix.c:67: error: 'FP_RND_RZ' undeclared (first use in this function)
make[2]: *** [fp.lo] Error 1
make[2]: Leaving directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14/src/ieee-utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14/src'
make: *** [all] Error 2
Error building GSL
real 7m59.053s
user 5m41.085s
sys 0m49.623s
sage: An error occurred while installing gsl-1.14
}}}
== Solution ==
Simply use the new .spkg at
http://boxen.math.washington.edu/home/kirkby/patches/gsl-1.14.p0.spkg
There is no need for any library patches. That .spkg has all the changes
needed. Patches attached here are for review purposes only - they do not
need to be applied.
--
Comment:
I finally have a complete solution for the GSL problem on AIX, which not
only means this now builds, but it pases all the tests too. The log file
ends with:
{{{
The self-tests of GSL were successfully passed
}}}
The changes, which are only applied on AIX, consist of:
* A revised configure.ac which checks for fprnd_t
* Changes to an AIX-specific file fp-aix.c to define 'fprnd_t'
'FP_RND_RN','FP_RND_RM', 'FP_RND_RP' and 'FP_RND_RZ' if any of them are
undefined. All definition were taken from the IBM header file float.h.
* Changes to spkg-install to apply the two patches. This uses GNU 'patch'
(now part of Sage) to apply the patches.
* A new {{{configure}}} script that was generated for the updated
{{{configure.ac}}}
* A change to spkg-install to disable debug information when building on
AIX. This is necessary since some Technology Levels or Service packs for
AIX cause a problem when linking.
{{{
ld: 0711-593 SEVERE ERROR: Symbol C_BSTAT (entry 635) in object
siman_tsp.o:
The symbol refers to a csect with symbol number 0, which was not
found. The new symbol cannot be associated with a csect and
is being ignored.
}}}
See http://www.ibm.com/developerworks/forums/thread.jspa?threadID=348558
and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46072 for information
about this GCC bug, which is affecting many pieces of software - not just
GSL.
'''Note''' All changes to spkg-install are inside sections which have
{{{
If [ "x$UNAME~" = xAIX ] ; then
# some changes
fi
}}}
so although these changes would not cause problems on any platform, for
extra security they are only applied on AIX.
This now needs review. Sorry for the size of the Mercurial patch, but this
is because there's a new configure script that's auto-generated. That is
quite large.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10000#comment:15>
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.