Re: gobject-introspection build failure



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]