gobject-introspection build failure



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'?





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