[yocto] Libgfortran 6.2 doesn't compile

Josef Holzmayr holzmayr at rsi-elektrotechnik.de
Sun Nov 27 22:40:56 PST 2016


Hello David,

Von: <yocto-bounces at yoctoproject.org> im Auftrag von david bensoussan <minipada at gmail.com>
Datum: Samstag, 26. November 2016 um 14:32
An: "yocto at yoctoproject.org" <yocto at yoctoproject.org>
Betreff: [yocto] Libgfortran 6.2 doesn't compile

Hello,
I am trying to compile libgfortran 6.2 on Yocto (Morty version) but can't.

    DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i586-linux', 'common']
    DEBUG: Executing shell function do_compile
    NOTE: make -j 8 MULTIBUILDTOP=/var/www/toaster/openembedded-core/build-toaster-2/tmp-glibc/work/i586-oe-linux/libgf$
    /bin/bash ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/mk-sik-inc.sh 'i586-oe-linux-gfort$
    /bin/bash ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/mk-srk-inc.sh 'i586-oe-linux-gfort$
    /bin/bash ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/mk-kinds-h.sh 'i586-oe-linux-gfort$
    grep '^#' < ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/c99_protos.h > c99_protos.inc
    cp ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/config/fpu-387.h fpu-target.h
    grep '^#define GFC_FPE_' < ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/../gcc/fortran/li$
    grep '^#define GFC_FPE_' < ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/libgfortran.h >> $
    grep '^#' < kinds.h > kinds.inc
    make  all-am
    make[1]: Entering directory `/var/www/toaster/openembedded-core/build-toaster-2/tmp-glibc/work/i586-oe-linux/libgfo$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    /bin/bash ./libtool  --tag=CC   --mode=compile i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/var/www/toaster/opene$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    libtool: compile:  i586-oe-linux-gcc -m32 -march=i586 --sysroot=/var/www/toaster/openembedded-core/build-toaster-2/$
    ../../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgfortran/runtime/backtrace.c:37:33: fatal error: back$
     #include "backtrace-supported.h"
                                     ^
    compilation terminated.
    make[1]: *** [backtrace.lo] Error 1
    make[1]: *** Waiting for unfinished jobs....

Yes, lately libfortran has changed their own backtrace implementation for the generic one.

I have default yocto configuration, I simply added:

    FORTRAN_forcevariable = ",fortran"
    
to enable it.

Am I doing something wrong or is it unstable?

You are not doing wrong, the recipe is just broken at the moment. Unfortunately, the fix seems to be non-trivial and nobody has gotten round to do it yet. Basically the libgcc-recipe infrastructure has to be made libbacktrace-aware.

The only workaround that I know of at the moment is to stick with a libgfortran version before the libbacktrace change, which should be anything from the 5.X gcc family.
Greetz

-- _______________________________________________ yocto mailing list yocto at yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto 


———————————————
Josef Holzmayr
Software Developer Embedded Systems

Tel: +49 8444 9204-48
Fax: +49 8444 9204-50

R-S-I Elektrotechnik GmbH & Co. KG
Woelkestrasse 11
D-85301 Schweitenkirchen
www.rsi-elektrotechnik.de

———————————————
Amtsgericht Ingolstadt – GmbH: HRB 191328 – KG: HRA 170393
Geschäftsführer: Dr.-Ing. Michael Sorg, Dipl.-Ing. Franz Sorg
Ust-IdNr: DE 128592548






_____________________________________________________________
Amtsgericht Ingolstadt - GmbH: HRB 191328 - KG: HRA 170363
Geschäftsführer: Dr.-Ing. Michael Sorg, Dipl.-Ing. Franz Sorg
USt-IdNr.: DE 128592548




More information about the yocto mailing list