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@Value 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 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'? _______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list