I update my Poky to the latest on master yesterday (i.e., I went from 
a version using smart to one using dnf) and when I rebuilt my image I 
got the following error:

| cd ${WORKDIR}/build/ext && ${WORKDIR}/recipe-sysroot-native/usr/bin/cmake -E 
cmake_link_script CMakeFiles/libsolvext.dir/link.txt --verbose=1
| 
${WORKDIR}/recipe-sysroot-native/usr/bin/mipsel-poky-linux/mipsel-poky-linux-gcc
  -fPIC -mel -mabi=32 -msoft-float -march=34kc -msynci  
--sysroot=${WORKDIR}/recipe-sysroot  -O2 -pipe -g 
-feliminate-unused-debug-types 
-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/libsolv/0.6.26-r0 
-fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= 
-fdebug-prefix-map=${WORKDIR}/recipe-sysroot=  -fstack-protector-strong 
-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -mel 
-mabi=32 -msoft-float -march=34kc -msynci  --sysroot=${WORKDIR}/recipe-sysroot 
-Wall -fPIC -Wl,-O1  -Wl,--as-needed -fstack-protector-strong 
-Wl,-z,relro,-z,now  -Wl,--version-script=${WORKDIR}/git/ext/libsolvext.ver 
-shared -Wl,-soname,libsolvext.so.0 -o libsolvext.so.0 
CMakeFiles/libsolvext.dir/solv_xfopen.o CMakeFiles/libsolvext.dir/testcase.o 
CMakeFiles/libsolvext.dir/pool_fileconflicts.o 
CMakeFiles/libsolvext.dir/repo_rpmdb.o 
CMakeFiles/libsolvext.dir/repo_repomdxml.o CMakeFiles/libsolvext.dir/rep
 o_rpmmd.o CMakeFiles/libsolvext.dir/repo_deltainfoxml.o 
CMakeFiles/libsolvext.dir/repo_updateinfoxml.o 
-Wl,-rpath,${WORKDIR}/build/src:${WORKDIR}/recipe-sysroot-native/usr/lib: 
../src/libsolv.so.0 -Wl,--as-needed -ldb -lrpmio 
${WORKDIR}/recipe-sysroot-native/usr/lib/librpmdb.so -lexpat -lz
| ${WORKDIR}/recipe-sysroot-native/usr/lib/librpmdb.so: error adding symbols: 
File in wrong format

When I ran file on librpmdb.so it showed:

$ file ${WORKDIR}/recipe-sysroot-native/usr/lib/librpmdb-5.4.so
${WORKDIR}/recipe-sysroot-native/usr/lib/librpmdb-5.4.so: ELF 64-bit LSB shared 
object, x86-64, version 1 (SYSV), dynamically linked, 
BuildID[sha1]=0xb49c3f89085d16c65bb443622e68cbbfdae605cb, stripped

I.e., it is trying to link a MIPS library with an x86_64 one...

After I did a "bitbake libsolv -c cleansstate", the problem went away, 
and checking the log.do_compile afterwards it seems it is not even 
trying to link with librpmdb.so at all any more.

My guess is that the librpmdb.so (which was a link to librpmdb-5.4.so) 
was a leftover from before the switch from smart to dnf. However, the 
fact that it remained in ${WORKDIR}/recipe-sysroot-native AND that it 
was picked up by the build indicates both a problem with the 
determinism of RSS, and the with the build of libsolv itself.

//Peter

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to