After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 652168 - Crosscompiling Fails if build<=2.24 and host >2.24
Crosscompiling Fails if build<=2.24 and host >2.24
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: general
unspecified
Other Linux
: Normal trivial
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2011-06-09 08:06 UTC by Hannes Bistry
Modified: 2011-06-20 21:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stop using glib-genmarshal at build time (57.91 KB, patch)
2011-06-20 13:45 UTC, Colin Walters
committed Details | Review

Description Hannes Bistry 2011-06-09 08:06:56 UTC
During make, the native "glib-genmarshal" ist called (as the just-build one cannot be used) on the build system that may be older than the version you are just compiling.
Build error: GLib-Genmarshal-WARNING **: unknown type: VARIANT

Solution: Check in configure whether glib on build machine is too old.

Additional enhancement:
for crosscompile, the "export NM=nm" needs to be set manually, otherwise make fails with an error that is not understandable, as it pipes something this way:
"command1 |    | command2 "

Solution: Check in configure whether NM is set if crosscompiling
Comment 1 Colin Walters 2011-06-19 14:52:48 UTC
Maybe the easiest thing would be to rewrite glib-genmarshal in Python or Perl so it's arch-independent.
Comment 2 Colin Walters 2011-06-19 14:57:02 UTC
Another option is to drop gobject/gmarshal.list and gio/gio-marshal.list from GLib.

We could hardcode the former since it's part of the API/ABI and we can only add to it anyways.

For the latter, we could just switch to using g_cclosure_marshal_generic in all of gio/.
Comment 3 Colin Walters 2011-06-20 13:45:24 UTC
Created attachment 190272 [details] [review]
Stop using glib-genmarshal at build time

To help cross compilation, don't use glib-genmarshal in our
build.  This is easy now that we have g_cclosure_marshal_generic().

In gobject/, add gmarshal.[ch] to git (making the existing entry
points stubs).

In gio/, simply switch to using g_cclosure_marshal_generic().
Comment 4 Dan Winship 2011-06-20 20:21:42 UTC
Comment on attachment 190272 [details] [review]
Stop using glib-genmarshal at build time

ok, make check fails, but that's not the fault of this patch.
Comment 5 Colin Walters 2011-06-20 21:25:30 UTC
Attachment 190272 [details] pushed as b74e2a7 - Stop using glib-genmarshal at build time