This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Re: Build problem on ABM AIX + solution
- To: eric dot van dot der dot velde at nl dot fortisbank dot com
- Subject: Re: Build problem on ABM AIX + solution
- From: gsl-discuss at lists dot thewrittenword dot com
- Date: Thu, 27 Sep 2001 03:38:16 -0500
- Cc: gsl-discuss at sources dot redhat dot com
- References: <OF43E4997C.EFC1381A-ON41256AD4.00299FCF@nl.fortisbank.com>
- Reply-To: gsl-discuss at sources dot redhat dot com
On Thu, Sep 27, 2001 at 08:36:36AM +0100, eric.van.der.velde@nl.fortisbank.com wrote:
> Trying to make gsl on an IBM AIX 4.3 (xlc) system failed in the file
> test/results.c (problems concerning the va_list)
>
> The problem is that __STDC__ is not defined on an AIX system (which should
> be), and the prepocessor takes the 'wrong' decision.
> To solve this problem I modified the test/results file all the occurences
> of
>
> #ifdef __STDC__
>
> to
>
> #if defined(__STDC__) || defined(AIX)
>
> Then I added -DAIX to the CFLAGS and ran ./configure again (followed by a
> make)
>
> I hope this can solve you build problems on AIX in the future
Ick! Please do *not* do this. Platform-specific stuff like this is
ugly. A more proper fix should be found.
> Here some info on the AIX compiler:
>
> the IBM C compiler doesn't define __STDC__ (despite the fact
> that its entirely ANSI compatible - actually it does define __STDC__ if
> you put it in "strict" mode, but then it treats an allocation of an "int"
> to an "unsigned int" as a severe error and stops. Thus nobody uses the
> strict mode, thus __STDC__ is rarely defined. In addition it generates an
> error message if you define __STDC__ manually....) Therefore could you put
> in a || defined (AIX) to all your #ifdef __STDC__...?
I have xlc 5.0.2.0. Without *any* options, __STDC__ == 1. What do you
consider "strict" mode? -qlanglvl=ansi?
We built gsl-0.9.2 with xlc and -qlanglvl=ansi and test/results.c
compiled fine.
--
albert chin (china@thewrittenword.com)