Compiling GCC 10.2 on AIX 7.2

David Edelsohn dje.gcc@gmail.com
Wed Aug 19 14:37:46 GMT 2020


On Wed, Aug 19, 2020 at 3:04 AM Kewen.Lin <linkw@linux.ibm.com> wrote:
>
> Hi Randal,
>
> on 2020/8/19 上午6:38, Randal T. Rioux wrote:
> > On 8/17/20 3:28 PM, Randal T. Rioux wrote:
> >> On 8/17/20 12:15 PM, Jonathan Wakely wrote:
> >>> On Mon, 17 Aug 2020 at 17:12, Randal T. Rioux <randal@procyonlabs.com> wrote:
> >>>>
> >>>> On 8/17/20 6:28 AM, Jonathan Wakely wrote:
> >>>>> On Mon, 17 Aug 2020 at 07:04, Randal T. Rioux <randal@procyonlabs.com> wrote:
> >>>>>>
> >>>>>> System: IBM POWER 740 (POWER7 CPU)
> >>>>>> OS Level: 7200-04-02-2016
> >>>>>> Bootstrap Compiler: GCC 8.3.0 from AIX Toolbox (IBM yum repo)
> >>>>>>
> >>>>>> Please let me know if I need to include anything else. Hopefully I've
> >>>>>> provided enough information to aid in my request here.
> >>>>>>
> >>>>>> Environment Variables:
> >>>>>>
> >>>>>> export CFLAGS="-mcpu=power7 -pipe -O2 -I/opt/freeware/include"
> >>>>>> export CXXFLAGS=$CFLAGS
> >>>>>> export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib
> >>>>>> -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib
> >>>>>> -Wl,-bmaxdata:0x80000000"
> >>>>>> export CONFIG_SHELL=/opt/freeware/bin/bash
> >>>>>> export CONFIG_ENV_ARGS=/opt/freeware/bin/bash
> >>>>>>
> >>>>>> configure output: https://pastebin.com/FinvPRPU
> >>>>>> config.log: https://pastebin.com/4Y30z9tU
> >>>>>> config.status: https://pastebin.com/C7ZC9uzB
> >>>>>>
> >>>>>> configure seems to work fine, although the config.log seems to show it
> >>>>>> ignores my flags to only enable c/c++ compilers (I could be reading this
> >>>>>> wrong).
> >>>>>
> >>>>> You are reading it wrong.
> >>>>
> >>>> Okay then.
> >>>>
> >>>>>> Running make works for a little bit, then dies around:
> >>>>>>
> >>>>>> (snip)
> >>>>>> mkdir -p -- common/.deps
> >>>>>> mkdir -p -- analyzer/.deps
> >>>>>> config.status: executing default commands
> >>>>>> gmake[2]: Leaving directory '/usr/src/gcc-build'
> >>>>>> gmake[1]: *** [Makefile:20799: stage1-bubble] Error 2
> >>>>>> gmake[1]: Leaving directory '/usr/src/gcc-build'
> >>>>>> gmake: *** [Makefile:1002: all] Error 2
> >>>>>
> >>>>> You've snipped the actual error so we can't see what failed.
> >>>>
> >>>> What specifically would help you (or anyone else) to diagnose this?
> >>>
> >>> Showing the error.
> >>>
> >>> Something failed, and then make kept printing some more lines and then
> >>> exited. You've only shown the exiting part, not the error that
> >>> preceded it.
> >>
> >> I see - running parallel make added output past the failure point.
> >>
> >> This is the part where it conks out:
> >>
> >> (snip)
> >> gcc -mcpu=power7 -pipe -O2 -I/opt/freeware/include -L/opt/freeware/lib64
> >> -L/opt/freeware/lib
> >> -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib
> >> -Wl,-bmaxdata:0x80000000 -o fixincl fixincl.o fixtests.o fixfixes.o
> >> server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a
> >> collect2: fatal error: ../libiberty/libiberty.a: not a COFF file
> >> compilation terminated.
> >> gmake[3]: *** [Makefile:110: full-stamp] Error 1
> >> gmake[3]: Leaving directory
> >> '/usr/src/gcc-build/build-powerpc-ibm-aix7.2.4.0/fixincludes'
> >> gmake[2]: *** [Makefile:2880: all-build-fixincludes] Error 2
> >> gmake[2]: Leaving directory '/usr/src/gcc-build'
> >> gmake[1]: *** [Makefile:20799: stage1-bubble] Error 2
> >> gmake[1]: Leaving directory '/usr/src/gcc-build'
> >> gmake: *** [Makefile:1002: all] Error 2
> >>
> >> Could it be an ld or binutils issue?
> >
> > Quick update.
> >
> > Uninstalling GNU binutils helped. But I hit a different wall.
> >
> > These are my current environment variables (which work for compiling
> > other software like Apache HTTPD):
> >
> > # export CONFIG_SHELL=/opt/freeware/bin/bash
> > # export CONFIG_ENV_ARGS=/opt/freeware/bin/bash
> > # export CFLAGS="-maix64 -mcpu=power7 -D_LARGE_FILES -pipe -O2
> > -I/opt/freeware/include"
> > # export CXXFLAGS=$CFLAGS
> > # export RM="/usr/bin/rm -f"
> > # export AR="/usr/bin/ar -X64"
> > # export OBJECT_MODE=64"
>            ~~~~~~~~~~~~~~ " typo?
>
> I did a check locally, the wrong OBJECT_MODE caused the assembler
> error like
>
> Assembler:
> /tmp//ccZmd28O.s: line 1: 1252-192 Assembly mode is not specified.
>         Set the OBJECT_MODE environment variable to 32 or 64 or
>         use the -a32 or -a64 option.
>
> Hope it's just a pasted typo, isn't responsible for this error.
>
> > # export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -maix64
> > -Wl,-b64 -Wl,-brtl -Wl,-bbigtoc
> > -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"
> >
> > This is my configure line:
> >
> > # /usr/src/gcc-10.2.0/configure --with-isl=/usr/local --disable-multilib
> > --disable-nls --enable-languages=c,c++ --enable-decimal-float=dpd
> > --with-cloog=no --with-ppl=no --disable-libstdcxx-pch
> > --enable-__cxa_atexit --disable-werror --enable-bootstrap
> >
>
> With David's help, I built gcc trunk on aix7.2 successfully before
> with the configuration command like:
>
> $GCC_SRC/configure --enable-languages=c,c++,fortran --disable-werror --with-gmp=/opt/freeware/ --with-libiconv-prefix=/opt/freeware/ --disable-libstdcxx-pch --with-included-gettext --with-cpu=power9 --prefix=$GCC_INSTALL --with-as=/usr/bin/as --with-ld=/usr/bin/ld --disable-bootstrap
>
> I referred to the information here https://gcc.gnu.org/wiki/CompileFarm
> "Building GCC on AIX"
>
> Also installed the required components pointed out here:
>   https://gcc.gnu.org/install/prerequisites.html
>
> via the website/repo aix-toolbox
>   https://www.ibm.com/support/pages/aix-toolbox-linux-applications-downloads-alpha
>
> Sorry that I didn't have the access to that machine any more, can't provide more
> information by checking the history.

Why are you setting any environment variables?  All of the environment
variables are wrong.  you cannot build a 64 bit version of GCC on AIX
in that manner.

Thanks David


More information about the Gcc-help mailing list