Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

assimp: "error: lvalue required as unary '&' operand" on mips, mips64 and ppc #526

Closed
bulwahn opened this issue Jul 2, 2017 · 0 comments

Comments

@bulwahn
Copy link
Contributor

bulwahn commented Jul 2, 2017

On the current master of openembedded-core and poky pyro release, assimp fails for qemumips, qemumips64 and qemuppc:

| cd /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/build/code && /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot-native/usr/bin/mips-poky-linux/mips-poky-linux-g++   -DASSIMP_BUILD_BOOST_WORKAROUND -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -Dassimp_EXPORTS -I/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/build -I/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/include -I/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/BoostWorkaround -I/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot/usr/include -I/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/../contrib/unzip  -meb -mabi=32 -mhard-float -march=mips32r2  --sysroot=/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0=/usr/src/debug/assimp/3.1.1-r0 -fdebug-prefix-map=/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot=  -fvisibility-inlines-hidden  -meb -mabi=32 -mhard-float -march=mips32r2  --sysroot=/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/recipe-sysroot -fPIC   -fPIC -fvisibility=hidden -Wall -o CMakeFiles/assimp.dir/UnrealLoader.cpp.o -c /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/UnrealLoader.cpp
[...]
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp: In instantiation of 'std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = unsigned int; uint8_t = unsigned char]':
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp:93:44:   required from here
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp:85:21: error: lvalue required as unary '&' operand
|    std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
| 
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp: In instantiation of 'std::size_t Assimp::Copy(uint8_t*, T&) [with T = unsigned int; std::size_t = unsigned int; uint8_t = unsigned char]':
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp:94:44:   required from here
| /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp:85:21: error: lvalue required as unary '&' operand
[...]
| make[2]: Leaving directory `/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/build'
| make[1]: *** [code/CMakeFiles/assimp.dir/all] Error 2
| make[1]: Leaving directory `/home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/build'
| make: *** [all] Error 2
| ERROR: Function failed: do_compile (log file is located at /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/temp/log.do_compile.24375)
ERROR: Task (/home/lukas/work/repositories/github.com/bmwcarit/meta-ros/recipes-extended/assimp/assimp_3.1.1.bb:do_compile) failed with exit code '1'

These are the build configurations I have tested with:


Build Configuration:
BB_VERSION        = "1.33.4"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "mips-oe-linux"
MACHINE           = "qemumips"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "o32 bigendian fpu-hard mips32r2"
TARGET_FPU        = ""
meta              = "master:de7914954571ea8e717f56b6d6df13157b0973bc"
meta-oe           
meta-multimedia   
meta-python       = "master:bd259171ec0c2163a2c1025e1b83ae379cee96a7"
meta-ros          = "master:b0bf3da6d5543234bda7c87b1ea93f323e8ac469"
Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "mips-poky-linux"
MACHINE           = "qemumips"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "o32 bigendian fpu-hard mips32r2"
TARGET_FPU        = ""
meta
meta-poky
meta-yocto-bsp    = "pyro:f0d128ea0dfc2c403ff53a1ac1db3521854b63d5"
meta-oe
meta-python
meta-multimedia   = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"
meta-ros          = "master:b0bf3da6d5543234bda7c87b1ea93f323e8ac469"

Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "mips64-poky-linux"
MACHINE           = "qemumips64"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "n64 bigendian fpu-hard"
TARGET_FPU        = ""
meta              
meta-poky         
meta-yocto-bsp    = "pyro:f0d128ea0dfc2c403ff53a1ac1db3521854b63d5"
meta-oe           
meta-python       
meta-multimedia   = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"
meta-ros          = "master:b0bf3da6d5543234bda7c87b1ea93f323e8ac469"
Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "powerpc-poky-linux"
MACHINE           = "qemuppc"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "m32 fpu-hard ppc7400 altivec"
TARGET_FPU        = ""
meta              
meta-poky         
meta-yocto-bsp    = "pyro:f0d128ea0dfc2c403ff53a1ac1db3521854b63d5"
meta-oe           
meta-python       
meta-multimedia   = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"
meta-ros          = "master:b0bf3da6d5543234bda7c87b1ea93f323e8ac469"
bulwahn added a commit to bulwahn/meta-ros that referenced this issue Aug 24, 2017
Rather than solving ros#526 in assimp 3.1.1, this commit updates to
the latest assimp version 3.3.1 and applies a backported patch, as
all packages then compile on x86 and mips.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
@bulwahn bulwahn closed this as completed in 5d71cc0 Sep 5, 2017
bulwahn added a commit that referenced this issue Sep 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant