Gcc on Blue Gene / Q

Fatih Ertinaz fertinaz@gmail.com
Thu Feb 22 16:04:00 GMT 2018


Hi Jonathan

Thank you for your reply.

I decided to try a different version; gcc-5.2.0 which seems to fail at
the exact step:
make[2]: Leaving directory
`......../gcc/gcc-5.2.0-work/powerpc64-bgq-linux/libgcc'
/bin/sh: line 3: cd: powerpc64-bgq-linux/libstdc++-v3: No such file or directory
make[1]: *** [install-target-libstdc++-v3] Error 1

I removed cloog and used isl, gmp, mpc and mpfr with the versions
given in the script gcc-5.2.0/contrib/download_prerequisites.

I also removed most of the options of the configure which didn't make
a difference, even failed earlier stages. So I'm using exact same
options except -ppl and -cloog.

One quick question:
>>               --target=powerpc64-bgq-linux \
>>               --host=powerpc64-linux-gnu \
>>               --build=powerpc64-linux-gnu \
>
> Those host and build values look wrong.
Why?

> We don't know what your script does so can't really help.
The script is quite long however it is doing something very simple at its core:
It creates the gcc-VERSION-work directory and calls configure with the
options from the gcc-VERSION/ as it is suggested in the documentation.
It then runs make & make install.

This is the list of libraries found in gcc-5.2.0-work/powerpc64-bgq-linux/
libatomic  libgcc  libgomp  libquadmath  libssp

So my question is, what makes those ones compiled but not libstdc++-v3?

Many thanks

// Fatih Ertinaz

On Wed, Feb 21, 2018 at 6:27 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 21 February 2018 at 22:33, Fatih Ertinaz wrote:
>> Dear all
>>
>> I am trying to install Gcc-5.5.0 on a BGQ Cluster using a build script
>> which successfully installs Gcc-4.8.1.
>>
>> I didn't change much of that script, just the versions of required libs:
>> binutils-2.30
>> gmp-6.1.2
>> mpfr-4.0.1
>> mpc-1.1.0
>> isl-0.17.1
>> cloog-0.18.
>
> Did you read the prerequisites requirements for gcc-5.5.0? Because it
> doesn't need cloog, and it requires isl 0.14 or 1.12.2 not 0.17.1
>
> See the file gcc-5.5.0/gcc/doc/install.texi, or just follow the
> suggestions in https://gcc.gnu.org/wiki/InstallingGCC
>
>
>> In my attempts, make fails at:
>> /usr/bin/install -c -m 644 unwind.h
>> ...../gcc-5.5.0/lib/gcc/powerpc64-bgq-linux/5.5.0/include
>> make[2]: Leaving directory `...../gcc/gcc-5.5.0-work/powerpc64-bgq-linux/libgcc'
>> /bin/sh: line 3: cd: powerpc64-bgq-linux/libstdc++-v3: No such file or directory
>> make[1]: *** [install-target-libstdc++-v3] Error 1
>>
>> "libstdc++-v3" exists in gcc-5.5.0 source folder. So it comes with the
>> package however is not copied to gcc-5.5.0-work folder somehow.
>
> It's not supposed to get copied anywhere, the gcc-5.5.0/libstdc++-v3
> directory contains the source code. powerpc64-bgq.linux/libstdc++-v3
> is  supposed to contain the compiled objects and libraries.
>
>> Also from the log.make:
>> checking whether the ...../gcc/gcc-5.5.0-work/./gcc/xgcc
>> -B/..../gcc/gcc-5.5.0-work/./gcc/
>> -B/..../gcc-5.5.0/powerpc64-bgq-linux/bin/
>> -B/..../gcc-5.5.0/powerpc64-bgq-linux/lib/ -isystem
>> /..../gcc-5.5.0/powerpc64-bgq-linux/include -isystem
>> /..../gcc-5.5.0/powerpc64-bgq-linux/sys-include    linker
>> (/..../gcc/gcc-5.5.0-work/./gcc/collect-ld) supports shared
>> libraries... yes
>> checking whether -lc should be explicitly linked in... no
>> checking dynamic linker characteristics... no
>> checking dynamic linker characteristics... make[1]: Leaving directory
>> `...../gcc/gcc-5.5.0-work'
>>
>> Any help is much appreciated
>
> We don't know what your script does so can't really help.
>
>> Fatih Ertinaz
>>
>> Configuration flags:
>> configure --prefix $INSTALLDIR --disable-bootstrap
>>               --program-suffix=${GCC_VER} --enable-lto \
>>               --disable-checking --enable-shared \
>>               --enable-threads=posix --enable-gomp \
>>               --target=powerpc64-bgq-linux \
>>               --host=powerpc64-linux-gnu \
>>               --build=powerpc64-linux-gnu \
>
> Those host and build values look wrong.
>
>
>>               --enable-secureplt --disable-libmudflap \
>>               --disable-libspp --disable-libgcj \
>>               --enable-languages=c,c++,fortran,lto \
>>               --disable-multilib --with-long-double-128 \
>>               --with-headers=${SYSROOT}/sys-include \
>>               --with-libs=${SYSROOT}/lib \
>>               --with-bin=${SYSROOT}/bin \
>>               --with-sbin=${SYSROOT}/sbin \
>>               --with-gmp=$INSTALLDIR/requiredLibs \
>>               --with-mpc=$INSTALLDIR/requiredLibs \
>>               --with-mpfr=$INSTALLDIR/requiredLibs \
>
> You're doing this the complicated way (IMHO the wrong way). See
> https://gcc.gnu.org/wiki/InstallingGCC for a better way.
>
>
>>               --with-ppl=$INSTALLDIR/requiredLibs \
>>               --with-cloog=$INSTALLDIR/requiredLibs --enable-cloog-backend=isl
>
> Do you really need the Graphite optimizations? If not you can just
> avoid using ISL (or ppl, or cloog) entirely.



More information about the Gcc-help mailing list