On Thu, 2017-03-30 at 11:07 +0100, [email protected] 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): > > > make[2]: Entering directory > > `/home/colin/100051-karo/fsl-community-bsp/build/tmp/work/cortexa9hf- > neon-po > ky-linux-gnueabi/networkmanager/1.8-r0/build' > > glib-mkenums --fhead "/* Generated by glib-mkenums. Do not edit > > */\n\n#ifndef __NM_VPN_ENUM_TYPES_H__\n#define > __NM_VPN_ENUM_TYPES_H__\n\n" > --identifier-prefix NM --fhead "#include > <glib-object.h>\n\nG_BEGIN_DECLS\n" --vhead "GType > @enum_name@_get_type > (void) G_GNUC_CONST;\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ > (@enum_name@_get_type ())\n" --ftail "G_END_DECLS\n\n#endif /* > __NM_VPN_ENUM_TYPES_H__ */" ../git/libnm-glib/nm-vpn-plugin.h > ../git/libnm-glib/nm-vpn-plugin-ui-interface.h > ../git/libnm-glib/nm-vpn-plugin-utils.h > libnm-glib/nm-vpn-enum- > types.h.tmp > && (cmp -s libnm-glib/nm-vpn-enum-types.h.tmp libnm-glib/nm-vpn-enum- > types.h > > > cp libnm-glib/nm-vpn-enum-types.h.tmp libnm-glib/nm-vpn-enum- > > > types.h) && > > rm -f libnm-glib/nm-vpn-enum-types.h.tmp && echo timestamp > > libnm-glib/nm-vpn-enum-types.h.stamp > > glib-mkenums --fhead "/* Generated by glib-mkenums. Do not edit > > */\n\n#include \"config.h\"\n\n#include \"nm-vpn-enum-types.h\"\n" > --identifier-prefix NM --fhead "\n#include \"nm-vpn-plugin.h\" > \n#include > \"nm-vpn-plugin-ui-interface.h\" \n#include \"nm-vpn-plugin- > utils.h\"\n\n" > --vhead "GType\n@enum_name@_get_type (void)\n{\n static volatile > gsize > g_define_type_id__volatile = 0;\n\n if (g_once_init_enter > (&g_define_type_id__volatile))\n {\n static const G@Type@Valu > e > values[] = {\n" --vprod " { @VALUENAME@, \"@VALUENAME@\", > \"@valuenick@\" },\n" --vtail " { 0, NULL, NULL }\n };\n > GType g_define_type_id =\n g_@type@_register_static > (g_intern_static_string (\"@EnumName@\"), > values);\n g_once_init_leave > (&g_define_type_id__volatile, g_define_type_id);\n }\n\n return > g_define_type_id__volatile;\n}\n" ../git/libnm-glib/nm-vpn-plugin.h > ../git/libnm-glib/nm-vpn-plugin-ui-interface.h > ../git/libnm-glib/nm-vpn-plugin-utils.h > libnm-glib/nm-vpn-enum- > types.c.tmp > && (cmp -s libnm-glib/nm-vpn-enum-types.c.tmp libnm-glib/nm-vpn-enum- > types.c > > > cp libnm-glib/nm-vpn-enum-types.c.tmp libnm-glib/nm-vpn-enum- > > > types.c) && > > rm -f libnm-glib/nm-vpn-enum-types.c.tmp && echo timestamp > > libnm-glib/nm-vpn-enum-types.c.stamp > > \ > > export > > GI_TYPELIB_PATH=/home/colin/100051-karo/fsl-community- > bsp/build/tmp/work/cor > texa9hf-neon-poky-linux-gnueabi/networkmanager/1.8- > r0/build/libnm${GI_TYPELI > B_PATH:+:$GI_TYPELIB_PATH}; \ > > export > > LD_LIBRARY_PATH=/home/colin/100051-karo/fsl-community- > bsp/build/tmp/work/cor > texa9hf-neon-poky-linux-gnueabi/networkmanager/1.8- > r0/build/libnm/.libs${LD_ > LIBRARY_PATH:+:$LD_LIBRARY_PATH}; \ > > [ -n "" ] && export ; if [ -n > > "/home/colin/100051-karo/fsl-community-bsp/build/tmp/work/cortexa9hf- > neon-po > ky-linux-gnueabi/networkmanager/1.8-r0/build/libnm/.libs/libnm.so" ] > && echo > -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -pipe -g > -feliminate-unused-debug-types > -fdebug-prefix-map=/home/colin/100051-karo/fsl-community- > bsp/build/tmp/work/ > cortexa9hf-neon-poky-linux-gnueabi/networkmanager/1.8- > r0=/usr/src/debug/netw > orkmanager/1.8-r0 > -fdebug-prefix-map=/home/colin/100051-karo/fsl-community- > bsp/build/tmp/sysro > ots/x86_64-linux= > -fdebug-prefix-map=/home/colin/100051-karo/fsl-community- > bsp/build/tmp/sysro > ots/wg2xx-tx6s= -fno-strict-aliasing | grep -e -fsanitize=address ; > then > export LD_PRELOAD="${LD_PRELOAD}:$(ldd > /home/colin/100051-karo/fsl-community-bsp/build/tmp/work/cortexa9hf- > neon-pok > y-linux-gnueabi/networkmanager/1.8-r0/build/libnm/.libs/libnm.so | > grep > libasan\.so\.. -o | head -n 1)"; fi; \ > > "/usr/bin/python" \ > > ../git/libnm/generate-setting-docs.py \ > > --gir ./libnm/NM-1.0.gir \ > > --output libnm/nm-property-docs.xml > > > > ** (process:13095): 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' > > setting = new_func() > > Traceback (most recent call last): > > File "../git/libnm/generate-setting-docs.py", line 217, in > > <module> > > setting = new_func() > > TypeError: could not get a reference to type class > > make[2]: *** [libnm/nm-property-docs.xml] Error 1 > > make[2]: *** Deleting file `libnm/nm-property-docs.xml' > > make[2]: Leaving directory > > `/home/colin/100051-karo/fsl-community-bsp/build/tmp/work/cortexa9hf- > neon-po > ky-linux-gnueabi/networkmanager/1.8-r0/build' > > > I imagine something is objecting to the cross-compiled library, but > I've not > been able to figure out who is actually throwing the error. (A python > module?)
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? > The issue may ultimately be better discussed on the yocto mailing > list, but > I first wanted to pin down exactly where in NM it arises. > Yocto does appear to create/configure 'wrappers' for g-ir-scanner-* > > I also notice that 'ldd' is being used above (to check for address > sanitizer > being enabled?) - but this isn't going to work for cross-compiling; > needs > some form of modification e.g. '[cross-tools]-readelf -a'? patches welcome :) Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
