Bug 7230 - Certain MIPS64 multilib configurations fail to compile
Summary: Certain MIPS64 multilib configurations fail to compile
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: deployment (show other bugs)
Version: 1.7
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.8 M4
Assignee: Mark Hatle
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2015-01-22 04:43 UTC by Mark Hatle
Modified: 2015-04-28 18:37 UTC (History)
1 user (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Hatle 2015-01-22 04:43:24 UTC
configure with:

MACHINE = "qemumips64"
require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE = "mips64-n32"
DEFAULTTUNE_virtclass-multilib-lib64 = "mips64"
IMAGE_INSTALL_append = "libstdc++ lib64-libstdc++ lib64-glibc"

bitbake -c populate_sdk core-image-minimal

A failure will be generated by the gcc-cross-canadian-mips64n32 package.  It won't be able to package up the files, and further the SDK will fail being unable to find the SDK cross compiler.

The issue is apparently due to a recent change with the definition of TRANSLATED_TARGET_ARCH on MIPS, and the order in which the system expands and updates variables.
Comment 1 Mark Hatle 2015-01-22 04:44:37 UTC
RP suggests that the arch-mips.inc change be changed from an _append to a simple definition, such that:

--- a/meta/conf/machine/include/mips/arch-mips.inc
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -101,4 +101,6 @@ BASE_LIB_tune-mips64el-nf = "lib64"
 MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf"
 
-TRANSLATED_TARGET_ARCH_append = "${ABIEXTENSION}"
+# On mips we need to redefine this to include the ABIEXTENSION
+# we can avoid the python bit as there are no _ or - to translate
+TRANSLATED_TARGET_ARCH = "${TARGET_ARCH}${ABIEXTENSION}"
Comment 2 Mark Hatle 2015-01-22 05:01:32 UTC
The suggested fix, causes various compilation errors.  It appears the cross-compiler is configured incorrectly in some way.  I've not yet been able to investigate the cause of the failures.
Comment 3 Mark Hatle 2015-04-28 18:37:02 UTC
Fixed, oe-core commit: 4b3a2b703b20583bd107f00a297d972e9bfb514a