32-bit Build on 64-bit Linux

182 views Asked by At

I want to build my recipe into 32bit binary on 64bit system, I have Multilib enabled :

multilib configuration add in local.conf :

MACHINE = "ti-am335x"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

Infomation:

Build Configuration:
WRLINUX_VERSION      = "10.19.45.22"
WRLINUX_BRANCH       = "LTS"
BB_VERSION           = "1.44.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
DISTRO               = "openwrt"
DISTRO_VERSION       = "1.0"
MACHINE              = "ti-am335x"
DEFAULTTUNE          = "cortexa8thf-neon"
TARGET_SYS           = "arm-wrs-linux-musleabi"
TUNE_FEATURES        = "arm vfp cortexa8 neon thumb callconvention-hard"
TARGET_FPU           = "hard"

The potential multilibs are listed in the AVAILTUNES declaration. For qemu86-64 BSP, that value equals the following.

bitbake -e mozjpegcjpeg | grep ^AVAILTUNES AVAILTUNES=" x86 x86-64 "

I have followed the steps to enable multilib , but it shows this error : Document : https://docs.windriver.com/bundle/Wind_River_Linux_Platform_Developers_Guide_9_1/page/fau1551818735785.html

ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Toolchain tunings invalid:
Tuning 'x86' has no defined features, and cannot be used.

1

There are 1 answers

0
Robert On BEST ANSWER

your

MACHINE=ti-am335x

is not pointing to a x86 architectur

rebuild your toolchain when using something like

MACHINE=qemux86

there are also meta-layers for higher intel or amd cpus