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 791852 - glib-2.55.0 breaks compilation of gtk+-2.24.31
glib-2.55.0 breaks compilation of gtk+-2.24.31
Status: RESOLVED DUPLICATE of bug 790829
Product: glib
Classification: Platform
Component: build
2.55.x
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2017-12-21 16:38 UTC by Markus Rathgeb
Modified: 2017-12-21 19:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Markus Rathgeb 2017-12-21 16:38:49 UTC
I am using Gentoo and the gentoo-gnome overlay to get some recent version of Gnome packages.

After using glib-2.55.0 (and gobject-introspection 1.55.0) I was not able to compile gtk+-2.24.31 anymore.

It always result into this error on linkage of libgtk-x11-2.0.so.0.2400.3:
===
libtool: link:  x86_64-pc-linux-gnu-gcc -shared  -fPIC -DPIC  .libs/gtkquery.o .libs/gtksearchengine.o .libs/gtksearchenginesimple.o .libs/fnmatch.o .libs/gtkaboutdialog.o .libs/gtkaccelgroup.o .libs/gtkaccellabel.o .libs/gtkaccelmap.o .libs/gtkaccessible.o .libs/gtkaction.o .libs/gtkactiongroup.o .libs/gtkactivatable.o .libs/gtkadjustment.o .libs/gtkalignment.o .libs/gtkarrow.o .libs/gtkaspectframe.o .libs/gtkassistant.o .libs/gtkbbox.o .libs/gtkbin.o .libs/gtkbindings.o .libs/gtkbox.o .libs/gtkbuildable.o .libs/gtkbuilder.o .libs/gtkbuilderparser.o .libs/gtkbutton.o .libs/gtkcalendar.o .libs/gtkcelleditable.o .libs/gtkcelllayout.o .libs/gtkcellrenderer.o .libs/gtkcellrendereraccel.o .libs/gtkcellrenderercombo.o .libs/gtkcellrendererpixbuf.o .libs/gtkcellrendererprogress.o .libs/gtkcellrendererspin.o .libs/gtkcellrendererspinner.o .libs/gtkcellrenderertext.o .libs/gtkcellrenderertoggle.o .libs/gtkcellview.o .libs/gtkcheckbutton.o .libs/gtkcheckmenuitem.o .libs/gtkcolorbutton.o .libs/gtkcolorsel.o .libs/gtkcolorseldialog.o .libs/gtkcombobox.o .libs/gtkcomboboxentry.o .libs/gtkcomboboxtext.o .libs/gtkcontainer.o .libs/gtkdialog.o .libs/gtkdrawingarea.o .libs/gtkeditable.o .libs/gtkentry.o .libs/gtkentrybuffer.o .libs/gtkentrycompletion.o .libs/gtkeventbox.o .libs/gtkexpander.o .libs/gtkfilechooser.o .libs/gtkfilechooserbutton.o .libs/gtkfilechooserdefault.o .libs/gtkfilechooserdialog.o .libs/gtkfilechooserembed.o .libs/gtkfilechooserentry.o .libs/gtkfilechoosersettings.o .libs/gtkfilechooserutils.o .libs/gtkfilechooserwidget.o .libs/gtkfilefilter.o .libs/gtkfilesystem.o .libs/gtkfilesystemmodel.o .libs/gtkfixed.o .libs/gtkfontbutton.o .libs/gtkfontsel.o .libs/gtkframe.o .libs/gtkgc.o .libs/gtkhandlebox.o .libs/gtkhbbox.o .libs/gtkhbox.o .libs/gtkhpaned.o .libs/gtkhruler.o .libs/gtkhscale.o .libs/gtkhscrollbar.o .libs/gtkhseparator.o .libs/gtkhsv.o .libs/gtkiconcache.o .libs/gtkiconcachevalidator.o .libs/gtkiconfactory.o .libs/gtkicontheme.o .libs/gtkiconview.o .libs/gtkimage.o .libs/gtkimagemenuitem.o .libs/gtkimcontext.o .libs/gtkimcontextsimple.o .libs/gtkimmodule.o .libs/gtkimmulticontext.o .libs/gtkinfobar.o .libs/gtkinputdialog.o .libs/gtkinvisible.o .libs/gtkitem.o .libs/gtkkeyhash.o .libs/gtklabel.o .libs/gtklayout.o .libs/gtklinkbutton.o .libs/gtkliststore.o .libs/gtkmain.o .libs/gtkmarshal.o .libs/gtkmarshalers.o .libs/gtkmenu.o .libs/gtkmenubar.o .libs/gtkmenuitem.o .libs/gtkmenushell.o .libs/gtkmenutoolbutton.o .libs/gtkmessagedialog.o .libs/gtkmisc.o .libs/gtkmnemonichash.o .libs/gtkmodules.o .libs/gtkmountoperation.o .libs/gtknotebook.o .libs/gtkobject.o .libs/gtkoffscreenwindow.o .libs/gtkorientable.o .libs/gtkpagesetup.o .libs/gtkpaned.o .libs/gtkpango.o .libs/gtkpapersize.o .libs/gtkpathbar.o .libs/gtkplug.o .libs/gtkprintcontext.o .libs/gtkprintoperation.o .libs/gtkprintoperationpreview.o .libs/gtkprintsettings.o .libs/gtkprintutils.o .libs/gtkprogressbar.o .libs/gtkradioaction.o .libs/gtkradiobutton.o .libs/gtkradiomenuitem.o .libs/gtkradiotoolbutton.o .libs/gtkrange.o .libs/gtkrbtree.o .libs/gtkrc.o .libs/gtkrecentaction.o .libs/gtkrecentchooserdefault.o .libs/gtkrecentchooserdialog.o .libs/gtkrecentchoosermenu.o .libs/gtkrecentchooserwidget.o .libs/gtkrecentchooserutils.o .libs/gtkrecentchooser.o .libs/gtkrecentfilter.o .libs/gtkrecentmanager.o .libs/gtkruler.o .libs/gtkscale.o .libs/gtkscalebutton.o .libs/gtkscrollbar.o .libs/gtkscrolledwindow.o .libs/gtkselection.o .libs/gtkseparator.o .libs/gtkseparatormenuitem.o .libs/gtkseparatortoolitem.o .libs/gtksettings.o .libs/gtksizegroup.o .libs/gtkshow.o .libs/gtksocket.o .libs/gtkspinbutton.o .libs/gtkspinner.o .libs/gtkstatusbar.o .libs/gtkstatusicon.o .libs/gtkstock.o .libs/gtkstyle.o .libs/gtktable.o .libs/gtktearoffmenuitem.o .libs/gtktestutils.o .libs/gtktextbtree.o .libs/gtktextbuffer.o .libs/gtktextbufferrichtext.o .libs/gtktextbufferserialize.o .libs/gtktextchild.o .libs/gtktextdisplay.o .libs/gtktextiter.o .libs/gtktextlayout.o .libs/gtktextmark.o .libs/gtktextsegment.o .libs/gtktexttag.o .libs/gtktexttagtable.o .libs/gtktexttypes.o .libs/gtktextutil.o .libs/gtktextview.o .libs/gtkthemes.o .libs/gtktoggleaction.o .libs/gtktogglebutton.o .libs/gtktoggletoolbutton.o .libs/gtktoolbar.o .libs/gtktoolbutton.o .libs/gtktoolitem.o .libs/gtktoolitemgroup.o .libs/gtktoolpalette.o .libs/gtktoolshell.o .libs/gtktooltip.o .libs/gtktreedatalist.o .libs/gtktreednd.o .libs/gtktreemodel.o .libs/gtktreemodelfilter.o .libs/gtktreemodelsort.o .libs/gtktreeselection.o .libs/gtktreesortable.o .libs/gtktreestore.o .libs/gtktreeview.o .libs/gtktreeviewcolumn.o .libs/gtktypebuiltins.o .libs/gtktypeutils.o .libs/gtkuimanager.o .libs/gtkvbbox.o .libs/gtkvbox.o .libs/gtkvolumebutton.o .libs/gtkviewport.o .libs/gtkvpaned.o .libs/gtkvruler.o .libs/gtkvscale.o .libs/gtkvscrollbar.o .libs/gtkvseparator.o .libs/gtkwidget.o .libs/gtkwindow-decorate.o .libs/gtkwindow.o .libs/gtkclipboard.o .libs/gtkdnd.o .libs/gtktext.o .libs/gtktree.o .libs/gtktreeitem.o .libs/gtkclist.o .libs/gtkcombo.o .libs/gtkctree.o .libs/gtkcurve.o .libs/gtkfilesel.o .libs/gtkgamma.o .libs/gtkitemfactory.o .libs/gtklist.o .libs/gtklistitem.o .libs/gtkoldeditable.o .libs/gtkoptionmenu.o .libs/gtkpixmap.o .libs/gtkpreview.o .libs/gtkprogress.o .libs/gtksignal.o .libs/gtktipsquery.o .libs/gtktooltips.o .libs/gtkcustompaperunixdialog.o .libs/gtkpagesetupunixdialog.o .libs/gtkprinter.o .libs/gtkprinteroption.o .libs/gtkprinteroptionset.o .libs/gtkprinteroptionwidget.o .libs/gtkprintjob.o .libs/gtkprintoperation-unix.o .libs/gtkprintunixdialog.o .libs/gtkprintbackend.o .libs/gtksearchenginebeagle.o .libs/gtksearchenginetracker.o .libs/gtkplug-x11.o .libs/gtksocket-x11.o .libs/gtkxembed.o .libs/gtktrayicon-x11.o .libs/gtkmountoperation-x11.o   -Wl,-rpath -Wl,/var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31-abi_x86_64.amd64/gdk/.libs -Wl,--as-needed ../gdk/.libs/libgdk-x11-2.0.so -lXrender -lXi -lXrandr -lXcursor -lXext -lgmodule-2.0 -lpangocairo-1.0 -lX11 -lXcomposite -lXdamage -lXfixes -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lm  -march=native -O2 -Wl,-O1 -Wl,--export-dynamic -pthread   -pthread -Wl,-soname -Wl,libgtk-x11-2.0.so.0 -Wl,-version-script -Wl,.libs/libgtk-x11-2.0.ver -o .libs/libgtk-x11-2.0.so.0.2400.31
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__BOOLEAN':
gtkmarshalers.c:(.text+0x1740): multiple definition of `g_cclosure_marshal_VOID__BOOLEAN'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0x710): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__BOXED':
gtkmarshalers.c:(.text+0x1860): multiple definition of `g_cclosure_marshal_VOID__BOXED'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0x7a0): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__ENUM':
gtkmarshalers.c:(.text+0x1ce0): multiple definition of `g_cclosure_marshal_VOID__ENUM'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0x830): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID(int0_t)':
gtkmarshalers.c:(.text+0x2160): multiple definition of `g_cclosure_marshal_VOID(int0_t)'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0x9e0): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__OBJECT':
gtkmarshalers.c:(.text+0x2430): multiple definition of `g_cclosure_marshal_VOID__OBJECT'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0xc10): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__POINTER':
gtkmarshalers.c:(.text+0x2c30): multiple definition of `g_cclosure_marshal_VOID__POINTER'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0xca0): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID__STRING':
gtkmarshalers.c:(.text+0x2f90): multiple definition of `g_cclosure_marshal_VOID__STRING'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0x1260): first defined here
.libs/gtkmarshalers.o: In function `g_cclosure_marshal_VOID(int13_t &&) volatile':
gtkmarshalers.c:(.text+0x3710): multiple definition of `g_cclosure_marshal_VOID(int13_t &&) volatile'
.libs/gtkmarshal.o:gtkmarshal.c:(.text+0xb90): first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:2426: libgtk-x11-2.0.la] Error 1
make[4]: Leaving directory '/var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31-abi_x86_64.amd64/gtk'
make[3]: *** [Makefile:5081: all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31-abi_x86_64.amd64/gtk'
make[2]: *** [Makefile:2340: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31-abi_x86_64.amd64/gtk'
make[1]: *** [Makefile:733: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31-abi_x86_64.amd64'
make: *** [Makefile:625: all] Error 2
===

After I downgraded glib to 2.52.3 (and gobject-introspection to 1.52) I was able to build gtk+-2.24.31 again.


If I compare the gtk+-2.24.31 build directory using glib 2.52.3 and glib 2.55.0 it identifies that the files created by "glib-genmarshal" differ (gtkmarshal.c and gtkmarshalers.c).

I added also a report here: https://github.com/Heather/gentoo-gnome/issues/216
Perhaps you can find some additional information at that place that I miss now.
Comment 1 Emmanuele Bassi (:ebassi) 2017-12-21 16:59:32 UTC
This is likely a duplicate of bug 790829.

Have you tried using GLib 2.54? GLib 2.55 is the unstable development branch.

I've just tested with GLib's master branch after the fix for bug 790829 was pushed, and could build the gtk-2-24 branch with it.

*** This bug has been marked as a duplicate of bug 790829 ***
Comment 2 Markus Rathgeb 2017-12-21 19:57:28 UTC
> I've just tested with GLib's master branch after the fix for bug 790829 was pushed, and could build the gtk-2-24 branch with it.

Okay, thank you for testing.
A simple test by modifying the Gentoo ebuilds does not work for me.
I tried to use the most recent master of glib and tried to compilegtk+-2.24.31 after that.
Another error is raised on linkage.

But as it is working for you this is perhaps a Gentoo problem.