Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 496722 - gnome-base/gnome-panel-2.32.1-r3 fails compile phase
Summary: gnome-base/gnome-panel-2.32.1-r3 fails compile phase
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-02 03:33 UTC by David Davidson
Modified: 2015-05-03 17:28 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,123.12 KB, text/plain)
2014-01-02 03:36 UTC, David Davidson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Davidson 2014-01-02 03:33:53 UTC
First off, many thanks to those developers and maintainers who support Gentoo!

This gnome-base/gnome-panel-2.32.1-r3 packages fails to emerge.

Using:
emerge =gnome-base/gnome-panel-2.32.1-r3

The package fails to compile:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: ../gnome-panel/libpanel-applet-private/.libs/libpanel-applet-private.a(panel-applets-manager-dbus.o): undefined reference to symbol 'g_module_symbol'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'g_module_symbol' is defined in DSO /usr/lib64/libgmodule-2.0.so.0 so try adding it to the linker command line
/usr/lib64/libgmodule-2.0.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[4]: *** [gnome-panel] Error 1


However, using:
LDFLAGS="$LDFLAGS -lgmodule-2.0" emerge =gnome-base/gnome-panel-2.32.1-r3 

...emerges the package successfully.


There are other packages that seem to have the same problem, with different libraries:

http://forums.gentoo.org/viewtopic-t-979514-highlight-.html

Thank you for your thoughts and looking into this.
Comment 1 David Davidson 2014-01-02 03:36:33 UTC
Created attachment 366734 [details]
build.log
Comment 2 Pacho Ramos gentoo-dev 2014-01-02 10:25:38 UTC
Try with gnome-panel-3.8.0-r1
Comment 3 David Davidson 2014-01-04 02:08:47 UTC
Hi Pacho, thank you for looking into this.

Version gnome-panel-3.8.0-r1 emerges successfully, passing anything special to the compiler, but after emerging that version, the packages dependencies direct me back to using gnome-panel-2.32.1-r3 again. This is what prompted me to ask about it in the forums and then follow up with the bug report.

Emerging gnome-panel-3.8.0-r1 also upgraded dev-libs/libgweather-3.8.3:2 from 2.30.3. After emerging it, I was prompted to rebuild the labgtk package, which I installed as a dependency for unison [net-misc/unison].

Below is the output of "emerge -pv @preserved-rebuild" after emerging gnome-panel-3.8.0-r1.


# emerge -pv @preserved-rebuild

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     UD ] dev-libs/libgweather-2.30.3:2/2 [3.8.3:2/3-3] USE="python%* (-introspection%*)" 7,275 kB
[ebuild     UD ] gnome-base/gnome-panel-2.32.1-r3 [3.8.0-r1] USE="bonobo%* introspection -eds -networkmanager" 3,067 kB
[ebuild   R    ] dev-ml/lablgtk-2.16.0:2/2.16.0  USE="gnome ocamlopt opengl spell svg -debug -examples -glade -gnomecanvas -sourceview" 769 kB

Total: 3 packages (2 downgrades, 1 reinstall), Size of downloads: 11,111 kB

 * IMPORTANT: 11 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


Thank you again for your thoughts.
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-04 02:24:45 UTC
(In reply to David Davidson from comment #3)

There are two issues here.

1. gnome-panel-2.32 has an underlinking problem: it relied on some dependency's pkgconfig --libs output adding -lgmodule-2.0 to the linking argument list; when that dependency was updated to a newer version, this no longer happens, so gnome-panel-2.32 no longer builds.

2. dev-ml/lablgtk pulls in gnome-panel-2 when USE=gnome - which is the case for anyone using the gnome profile. So in effect, lablgtk (used by several gui tools written in ocaml) is blocking the gnome-3 upgrade for current gnome-2 users.
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-04 02:32:31 UTC
Fixed issue #2.

+  04 Jan 2014; Alexandre Rostovtsev <tetromino@gentoo.org>
+  targets/desktop/gnome/package.use:
+  Do not enable USE=gnome for lablgtk by default; it blocks the gnome-3 update
+  (bug #496722).
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-04 02:44:59 UTC
... and fixed #1 too.

+  04 Jan 2014; Alexandre Rostovtsev <tetromino@gentoo.org>
+  gnome-panel-2.32.1-r3.ebuild, +files/gnome-panel-2.32.1-gmodule.patch:
+  Fix underlinking failure (bug #496722, thanks to David Davidson).
Comment 7 Pacho Ramos gentoo-dev 2014-01-04 09:42:17 UTC
(In reply to Alexandre Rostovtsev from comment #5)
> Fixed issue #2.
> 
> +  04 Jan 2014; Alexandre Rostovtsev <tetromino@gentoo.org>
> +  targets/desktop/gnome/package.use:
> +  Do not enable USE=gnome for lablgtk by default; it blocks the gnome-3
> update
> +  (bug #496722).

Didn't think in the option of adding "-gnome" there, I thought USE masking for that packages was needed :( , that is why I added a specific reference for this in:
https://wiki.gentoo.org/wiki/GNOME/3.8-upgrade-guide#Installing_Gnome_3.8
"Additionally, you could need to disable "gnome" USE for app-dicts/verbiste, app-i18n/im-ja, dev-ml/lablgtk"

I am unsure about how to improve the situation I see two options:
1. Revbump that packages disabling that old gnome-panel support
2. Use mask the affected flags for that packages to prevent problems for people simply setting "gnome" in their make.conf

What do you think? :/

Also, what was the package that made all this underlinking errors to arise? Would like to know for updating to that one and catch the errors when they appear (I remember I didn't had any of this months ago while I was still running Gnome 2.32)

Thanks :)
Comment 8 Pacho Ramos gentoo-dev 2014-01-04 09:50:08 UTC
(In reply to Pacho Ramos from comment #7) 
> Also, what was the package that made all this underlinking errors to arise?
> Would like to know for updating to that one and catch the errors when they
> appear (I remember I didn't had any of this months ago while I was still
> running Gnome 2.32)
> 
> Thanks :)

I was closing this bugs as I thought they came from people masking some parts of Gnome 3 while keeping others and this resulting in part in that kind of unsupported mixes :S (well, I really don't know what kind of setups are this people getting now as I saw a lot of different lists for masking stuff)
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-04 16:30:42 UTC
(In reply to Pacho Ramos from comment #7)
> Didn't think in the option of adding "-gnome" there, I thought USE masking
> for that packages was needed :( , that is why I added a specific reference
> for this in:
> https://wiki.gentoo.org/wiki/GNOME/3.8-upgrade-guide#Installing_Gnome_3.8
> "Additionally, you could need to disable "gnome" USE for app-dicts/verbiste,
> app-i18n/im-ja, dev-ml/lablgtk"

Good of you to document that!

I've now also added -gnome for verbiste and im-ja to targets/desktop/gnome/package.use

> I am unsure about how to improve the situation I see two options:
> 1. Revbump that packages disabling that old gnome-panel support
> 2. Use mask the affected flags for that packages to prevent problems for
> people simply setting "gnome" in their make.conf
> 
> What do you think? :/

I suggest renaming the flag from "gnome" to something specific which is unlikely to be globally set in a user's make.conf. Maybe "applet", or "gnome-panel", or even "gnome2"?
 
> Also, what was the package that made all this underlinking errors to arise?
> Would like to know for updating to that one and catch the errors when they
> appear (I remember I didn't had any of this months ago while I was still
> running Gnome 2.32)

I believe it's different core gnome libraries in each different case (glib, pango, gdk-pixbuf, gtk+ etc.). Some removed -lm, others removed -lgmodule-2.0, still others removed -lXau. For example, in glib-2.32, -lgmodule-2.0 was removed from --libs of gio and gio-unix .pc files: https://git.gnome.org/browse/glib/commit/?id=1f02ef3205e810dd937f316f5a7b58ecc2893d59
Comment 10 genbug 2015-05-02 19:38:57 UTC
Why is this closed? The issue is still there it seems. 

I tried to build sweep and got the:  undefined reference to symbol 'g_module_symbol'

I had to use the LDFLAGS trick to get it to install. 

 Installing (1 of 1) media-sound/sweep-0.9.3-r1::gentoo

No gnome 3.0, no gnome. 


That works but it's a hack. The root cause of this still needs fixing, it would seem.
Comment 11 Gilles Dartiguelongue (RETIRED) gentoo-dev 2015-05-03 17:13:27 UTC
If you leaved under a rock for the past year, Gnome 2 was removed from tree.
If you have a problem with something else than what is written in the summary, I suggest you file a new bug report. Thanks.
Comment 12 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-05-03 17:28:30 UTC
(In reply to genbug from comment #10)
> Why is this closed? The issue is still there it seems. 
> 
> I tried to build sweep and got the:  undefined reference to symbol
> 'g_module_symbol'
> 
> I had to use the LDFLAGS trick to get it to install. 
> 
>  Installing (1 of 1) media-sound/sweep-0.9.3-r1::gentoo
> 
> No gnome 3.0, no gnome. 
> 
> 
> That works but it's a hack. The root cause of this still needs fixing, it
> would seem.

The root cause is that media-sound/sweep, just like gnome2, is ancient and obsolete and unmaintained zombie code. The last upstream release was in 2008, 7 years ago; the last change to their svn repo was 5 years ago. I am surprised that you succeeded in building it today with just one LDFLAGS hack.

Please open a new bug for sweep, and see if someone in the proaudio herd cares enough about it to write a patch. Otherwise it ought to be treecleaned.

I recommend you to switch to an audio editor that is supported today, for example media-sound/audacity.