2

我刚刚在我的 Ubuntu 上使用以下命令安装了一个硬浮动工具链

apt-get install gcc-arm-linux-gnueabihf

我想使用 hardfloat 工具链在 Yocto 上编译我的包。所以我将以下行添加到conf/local.conf

TUNE_FEATURES ?= "armv7athf-neon"
SDK_PATH="/usr/arm-linux-gnueabihf"
TARGET_SYS = "arm-linux-gnueabihf"
PATH +=":${SDK_PATH}/bin"
CONFIGURE_FLAGS="--target=$TARGET_SYS --host=$TARGET_SYS --build=i686-linux --with-libtool-sysroot=$SYSROOT"
CPPFLAGS="-march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$SYSROOT"
CFLAGS="$CPPFLAGS"
CXXFLAGS="$CPPFLAGS"
LDFLAGS="--sysroot=$SYSROOT"

但是在编译命令后bitbake gmp我收到了这个错误:

| configure: error: --target is not appropriate for GMP
| Use --build=CPU-VENDOR-OS if you need to specify your CPU and/or system
| explicitly.  Use --host if cross-compiling (see "Installing GMP" in the
| manual for more on this).

virtual:native:/home/dev/yocto/poky-daisy/meta/recipes-support/gmp/gmp_5.1.1.bb, do_configure

应该注意的是,在对conf/local.conf每件事进行任何更改之前,一切都正常工作

4

1 回答 1

4

我有同样的问题,当尝试编译 arm-linux-gnueabihf

编辑 meta/recipes-support/gmp/gmp.inc 并添加

PACKAGECONFIG[host] = "--host=${HOST_SYS},--host=${TARGET_SYS},host"
EXTRA_OECONF += " --disable-assembly"

这是因为 gmt.inc 使用 autotools /meta/classes/autotools.bbclass 并且 autotools.bbclass 中的变量 CONFIGUREOPTS 包含 --host=${HOST_SYS}

于 2014-11-23T18:15:11.450 回答