This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Build problem on ABM AIX + solution


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]