On Thu, 2017-03-30 at 17:05 +0100, Colin Helliwell wrote:
On 30 March 2017 at 16:09 Thomas Haller <thaller redhat com> wrote: On Thu, 2017-03-30 at 11:07 +0100, colin helliwell ln-systems com wrote:I was able to build NM 1.4.2 with G-I enabled, and have now moved up to 1.8/master. But hitting a build failure (cross-compiling, in Yocto):....The python script generate-setting-docs.py uses pygobject to eventually load libnm.so. Seems like the wrong libnm.so is loaded. Maybe it helps to set "LD_DEBUG=all" to see from where the shared library comes?Ouch - that generates a *lot* of output! (29k lines) May not be overly helpful to post the whole lot here - I can filter as required (or add as an attachment so subscribers can choose!) But guessing at what might be a pertinent section:15041: 15041: file=/home/colin/100051-karo/fsl-community- bsp/build/tmp/work/cortexa9hf-neon-poky-linux- gnueabi/networkmanager/1.8-r0/build/libnm/.libs/libnm.so.0 [0]; dynamically loaded by /usr/lib/x86_64-linux-gnu/libgmodule- 2.0.so.0 [0] 15041: 15041: file=libnm.so.0 [0]; dynamically loaded by /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 [0] 15041: find library=libnm.so.0 [0]; searching 15041: search path=/home/colin/100051-karo/fsl- community-bsp/build/tmp/work/cortexa9hf-neon-poky-linux- gnueabi/networkmanager/1.8-r0/build/libnm/.libs (LD_ LIBRARY_PATH) 15041: trying file=/home/colin/100051-karo/fsl- community-bsp/build/tmp/work/cortexa9hf-neon-poky-linux- gnueabi/networkmanager/1.8-r0/build/libnm/.libs/libnm.so.0 15041: search cache=/etc/ld.so.cache 15041: search path=/lib/x86_64-linux- gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux- gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux- gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux- gnu/x86_64:/usr/lib/x86_64-linux- gnu:/lib/tls/x86_64:/lib/tls:/lib/x86_64:/lib:/usr/lib/tls/x86_64:/ usr/lib/tls:/usr/lib/x86_64:/usr/lib (system search path) 15041: trying file=/lib/x86_64-linux- gnu/tls/x86_64/libnm.so.0 15041: trying file=/lib/x86_64-linux- gnu/tls/libnm.so.0 15041: trying file=/lib/x86_64-linux- gnu/x86_64/libnm.so.0 15041: trying file=/lib/x86_64-linux-gnu/libnm.so.0 15041: trying file=/usr/lib/x86_64-linux- gnu/tls/x86_64/libnm.so.0 15041: trying file=/usr/lib/x86_64-linux- gnu/tls/libnm.so.0 15041: trying file=/usr/lib/x86_64-linux- gnu/x86_64/libnm.so.0 15041: trying file=/usr/lib/x86_64-linux- gnu/libnm.so.0 15041: trying file=/lib/tls/x86_64/libnm.so.0 15041: trying file=/lib/tls/libnm.so.0 15041: trying file=/lib/x86_64/libnm.so.0 15041: trying file=/lib/libnm.so.0 15041: trying file=/usr/lib/tls/x86_64/libnm.so.0 15041: trying file=/usr/lib/tls/libnm.so.0 15041: trying file=/usr/lib/x86_64/libnm.so.0 15041: trying file=/usr/lib/libnm.so.0 15041: ** (process:15041): WARNING **: Failed to load shared library 'libnm.so.0' referenced by the typelib: libnm.so.0: wrong ELF class: ELFCLASS32 ../git/libnm/generate-setting-docs.py:217: Warning: cannot retrieve class for invalid (unclassed) type 'void'The 'actual' libnm.so.0.1.0 (ARM dynamic lib), together with the symlinks, is in /home/colin/100051-karo/fsl-community-bsp/build/tmp/work/cortexa9hf- neon-poky-linux-gnueabi/networkmanager/1.8-r0/build/libnm/.libs
Hi, Not surprisingly, when cross compiling, you also need python and pygobject in the other architecture. That makes it rather cumbersome. As I wrote in the other email, you can pre-generate those files on another host, during `make dist` and then build from source-tarball. Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part