AnsweredAssumed Answered

multilib on imx8

Question asked by nicolas bigeard on Sep 7, 2018
Latest reply on Sep 10, 2018 by nicolas bigeard

Hi,

 

I'm currently working on compiling linux multilib version. I followed the instructions in the documentation, and modified my local.conf file accordingly :

 

equire conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon"

IMAGE_INSTALL_append = " lib32-glibc lib32-libgcc lib32-libstdc++"

 

unfortunately this led to an error in libgcc_7.3 do _configure

 

| checking build system type... x86_64-pc-linux-gnu
| checking host system type... arm-pokymllib32-linux-gnueabi
| checking for --enable-version-specific-runtime-libs... no
| checking for a BSD-compatible install... /home/archie/fsl-multilib/build/tmp/hosttools/install -c
| checking for gawk... gawk
| checking for arm-pokymllib32-linux-gnueabi-ar... arm-pokymllib32-linux-gnueabi-ar
| checking for arm-pokymllib32-linux-gnueabi-lipo... no
| checking for lipo... no
| checking for arm-pokymllib32-linux-gnueabi-nm... arm-pokymllib32-linux-gnueabi-nm
| checking for arm-pokymllib32-linux-gnueabi-ranlib... arm-pokymllib32-linux-gnueabi-ranlib
| checking for arm-pokymllib32-linux-gnueabi-strip... arm-pokymllib32-linux-gnueabi-strip
| checking whether ln -s works... yes
| checking for arm-pokymllib32-linux-gnueabi-gcc... arm-pokymllib32-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/lib32-recipe-sysroot
| checking for suffix of object files... o
| checking whether we are using the GNU C compiler... yes
| checking whether arm-pokymllib32-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/lib32-recipe-sysroot accepts -g... yes
| checking for arm-pokymllib32-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/lib32-recipe-sysroot option to accept ISO C89... unsupported
| checking how to run the C preprocessor... arm-pokymllib32-linux-gnueabi-gcc -E --sysroot=/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/lib32-recipe-sysroot -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard
| configure: error: in `/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/gcc-7.3.0/build.arm-pokymllib32-linux-gnueabi.arm-pokymllib32-linux-gnueabi/libgcc':
| configure: error: C preprocessor "arm-pokymllib32-linux-gnueabi-gcc -E --sysroot=/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/lib32-recipe-sysroot -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard" fails sanity check
| See `config.log' for more details.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /mnt/datas/debian/home/archie/fsl-multilib/build/tmp/work/armv7ahf-neon-pokymllib32-linux-gnueabi/lib32-libgcc/7.3.0-r0/temp/log.do_configure.27559)

 

in the above mentionned config.log  the first error is :

 

configure:4314: $? = 0
configure:4303: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
configure:4314: $? = 0
configure:4303: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4314: $? = 1
configure:4303: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.

 

This is annoying as this lead to libstdc++ not compiled and several related errors (while using -lsdtc flag)

Outcomes