[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gsl] `fprnd_t' undeclared - can't this be solved with autoconf?
From: |
Dr. David Kirkby |
Subject: |
Re: [Bug-gsl] `fprnd_t' undeclared - can't this be solved with autoconf? |
Date: |
Tue, 28 Sep 2010 02:27:10 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100214 Thunderbird/3.0.1 |
On 09/28/10 01:39 AM, Peter Johansson wrote:
Hi David,
On 9/27/10 4:00 AM, Dr. David Kirkby wrote:
I seem to have hit a very early problem. Literally just touching
'configure.ac' then using 'autoreconf' to regenerate the configure
script gives a non functional makefile
How did you call `configure'? With or without --enable-maintainer-mode?
Sorry,
I appologise. I thought I had posted a follow-up to this problem, but I see I
did not. I started to write it, and must have overlooked sending it.
Once I used the
autoreconf -i -f -v
as documented in the script "autogen.sh" the configure script worked. I was able
to generate a configure script that generated a Makefile which would build on my
Solaris machine ok.
I got somewhere on the AIX issue and believe I solved the original AIX problem.
However, I did not copy all of the information from /usr/include/float.h - but
only that which was missing, it seemed a bit pointless copying loads of stuff
you don't need, which might actually be wrong on another release of AIX.
BTW, there's a copy of the include file /usr/include/float.h on an AIX 5.3
system here.
http://trac.sagemath.org/sage_trac/attachment/ticket/10000/float.h
To solve the AIX 'fprnd_t' issue, I think it boils down to:
1) First, one needs a test for 'fprnd_t', which I can do from the configure
script. I *think* one only needs this.
AC_CHECK_DECLS(fprnd_t,,,[#include <float.h>])
2) Next one needs to check if fprnd_t is defined or not, and if not, use a
typedef in ieee-utils/fp-aix.c
#ifndef HAVE_DECL_FPRND_T
typedef unsigned short fprnd_t;
#endif
3) Finally one needs to define these in ./ieee-utils/fp-aix.c, if they are not
already defined, as none were for me.
#ifndef FP_RND_RZ
#define FP_RND_RZ 0
#endif
etc also with:
#define FP_RND_RN 1
#define FP_RND_RP 2
#define FP_RND_RM 3
That is enough to get the code to compile on AIX 5.3, but it is not building the
library properly - see below. I'm pretty new to AIX, so don't have a lot of
experience in knowing what these errors might be.
Have you see these sorts of errors on other platforms, and might have a clue
what they mean?
libtool: link: ranlib .libs/libgslstatistics.a
libtool: link: ( cd ".libs" && rm -f "libgslstatistics.la" && ln -s
"../libgslstatistics.la" "libgslstatistics.la" )
make[2]: Leaving directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14.p0/src/statistics'
Making all in siman
make[2]: Entering directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14.p0/src/siman'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I..
-g -O2 -MT siman.lo -MD -MP -MF .deps/siman.Tpo -c -o siman.lo siman.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT siman_tsp.o -MD -MP -MF
.deps/siman_tsp.Tpo -c -o siman_tsp.o siman_tsp.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT siman.lo -MD -MP
-MF .deps/siman.Tpo -c siman.c -DPIC -o .libs/siman.o
mv -f .deps/siman_tsp.Tpo .deps/siman_tsp.Po
mv -f .deps/siman.Tpo .deps/siman.Plo
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o libgslsiman.la
siman.lo -lm
libtool: link: ar cru .libs/libgslsiman.a .libs/siman.o
libtool: link: ranlib .libs/libgslsiman.a
libtool: link: ( cd ".libs" && rm -f "libgslsiman.la" && ln -s
"../libgslsiman.la" "libgslsiman.la" )
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o siman_tsp siman_tsp.o
libgslsiman.la ../rng/libgslrng.la ../ieee-utils/libgslieeeutils.la
../err/libgslerr.la ../sys/libgslsys.la ../utils/libutils.la -lm
libtool: link: gcc -g -O2 -o siman_tsp siman_tsp.o ./.libs/libgslsiman.a
../rng/.libs/libgslrng.a ../ieee-utils/.libs/libgslieeeutils.a
../err/.libs/libgslerr.a ../sys/.libs/libgslsys.a ../utils/.libs/libutils.a -lm
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.
ld: 0711-593 SEVERE ERROR: Symbol C_BSTAT (entry 638) 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.
ld: 0711-593 SEVERE ERROR: Symbol C_BSTAT (entry 641) 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.
collect2: ld returned 12 exit status
make[2]: *** [siman_tsp] Error 1
make[2]: Leaving directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14.p0/src/siman'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/home/users/drkirkby/sage-4.6.alpha1/spkg/build/gsl-1.14.p0/src'
make: *** [all] Error 2
Error building GSL