it seems that even for a 64b target kernel, yocto/bitbake will create /usr/lib and /usr/lib64 with /usr/lib containing 32b libs in the rootfs. Shouldn’t it create /usr/lib (64b) and /usr/lib32 (32b) instead? The current setup seems to confuse ./configure based manual package builds which try to find the native(==kernel) sized libs in /usr/lib whereas a native rootfs, e.g., pkg-config looks into /usr/lib64 when I think it should look into /usr/lib on a 64b target.
The settings are completely configurable, for example: require conf/multilib.conf # Example of lib32 in a /usr/lib32 directory MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" baselib_virtclass-multilib-lib32 = "lib32" # Example of lib64 in a /usr/lib64 directory MULTILIBS = "multilib:lib64" DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64" baselib_virtclass-multilib-lib64 = "lib64" and you can change the default libdir with: baselib = "lib" baselib = "lib32" baselib = "lib64" as you want. So just pick the configuration you'd like!