Re: Compiling GCC 10.2 on AIX 7.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 19, 2020 at 1:36 PM Randal T. Rioux <randal@xxxxxxxxxxxxxxx> wrote:
>
> On 8/19/20 10:37 AM, David Edelsohn wrote:
> > On Wed, Aug 19, 2020 at 3:04 AM Kewen.Lin <linkw@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> wrote:
> >>>>>>
> >>>>>> On 8/17/20 6:28 AM, Jonathan Wakely wrote:
> >>>>>>> On Mon, 17 Aug 2020 at 07:04, Randal T. Rioux <randal@xxxxxxxxxxxxxxx> 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.
>
> That's the answer I was hoping not to get :-)
>
> I can compile it fine as a 32 bit app. For example, this is my configure:
>
> /usr/src/gcc-10.2.0/configure --enable-languages=c,c++ --disable-werror
> --disable-libstdcxx-pch --with-cpu=power7 --disable-bootstrap --without-isl
>
> My interest was to create a pure 64-bit environment, and I spent a lot
> of hours trying!
>
> Is there a way to build 64 bit GCC on AIX?
>
> Thanks to all for the responses!

First, it would have been helpful and useful for you to state your
objective at the beginning.  Making unsupported changes to the build
procedure and then reporting errors is counterproductive.

Current development version of GCC has some patches to allow a 64 bit
build using --with-cpu=default64.  It functions but remains a work in
progress.

Thanks, David




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux