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

Reply via email to