Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 650532

Summary: [gnome overlay] dev-libs/json-glib-1.4.2[abi_x86_32] - Header files have changed between ABIs
Product: Gentoo Linux Reporter: Dennis Schridde <dschridde+gentoobugs>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo-bugs, ikelos
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 631406    
Attachments: build.log
emerge --info dev-libs/json-glib
diff -u work/json-glib-1.4.2-abi_x86_*/json-glib/json-enum-types.h
Patch to resolve header difference caused by glib-mkenums

Description Dennis Schridde 2018-03-14 22:31:12 UTC
Created attachment 523972 [details]
build.log

The build of dev-libs/json-glib-1.4.2::gnome[abi_x86_32] aborts with the multilib error message "Header files have changed between ABIs".
Comment 1 Dennis Schridde 2018-03-14 22:31:37 UTC
Created attachment 523974 [details]
emerge --info dev-libs/json-glib
Comment 2 Dennis Schridde 2018-03-18 13:09:22 UTC
Created attachment 524254 [details, diff]
diff -u work/json-glib-1.4.2-abi_x86_*/json-glib/json-enum-types.h

The difference between the two versions of work/json-glib-1.4.2-abi_x86_*/json-glib/json-enum-types.h is really minor: the comment `/* enumerations from "/var/tmp/portage/..." */` contains different paths.  I was able to "fix" that by simply running sed "s/${BUILD_DIR}/${S}/" on all header files from multilib_src_compile().  Someone with more insight into Meson, Glib or Gnome can probably build a more sophisticated and less blunt fix.
Comment 3 Mike Auty (RETIRED) gentoo-dev 2018-04-22 13:06:14 UTC
Created attachment 528222 [details, diff]
Patch to resolve header difference caused by glib-mkenums

This patch (like the others for atk and at-spi2-core) resolves the issue by changing the template for glib-mkenums from @filename@ to @basename@.  Similarly to at-spi2-core this also changes a #include statement in the template, but the generated c file does not appear to be installed.  The filename value would have pointed to a non-existent temp file, so this change could not have any more of a detrimental effect after installation that keeping the temp filename in it.
Comment 4 Mart Raudsepp gentoo-dev 2018-12-13 23:01:32 UTC
This was fixed upstream as part of https://gitlab.gnome.org/GNOME/json-glib/merge_requests/3 and got backported to 1.4.4; so for json-glib we are all good since September with the 1.4.4 bump in main tree