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)
It seems wrong toolchain is used.
Please try to use the latest SDK.
Have a great day,
Victor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Well, I might have a closer look, nevertheless, I launched the multilib build, just after having initialized and synced the rocko repository. I guess, this should work out of the box...
Hello,
The file <BUILD>/conf/local.conf is created when we initialize a build
environment. The local.conf file is a very convenient way to override several
default configurations over all the Yocto Project's tools. Essentially, we can
change or set any variable, for example, add additional packages to an image file.
Though it is convenient, it should be considered as a temporary change as the build/ conf/ local.conf file is not usually tracked by any source code management system.
So, local.conf can be modified only after
$ DISTRO=<...> MACHINE=imx8mqevk source fsl-setup-release.sh -b build
and before
$ bitbake <...>
Regards,
Yuri.