Bug 649744 - starting a gtk application in seed has undefined symbol g_application_get_type
Summary: starting a gtk application in seed has undefined symbol g_application_get_type
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: seed
Version: 14
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Michel Lind
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-04 13:34 UTC by Wade Mealing
Modified: 2012-02-05 03:17 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-05 03:17:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Wade Mealing 2010-11-04 13:34:22 UTC
Description of problem:

Installing fedora 14, running "seed" with a sample gtk application (anything at all really).

# seed /tmp/wades_awesome_test_gtk_application.js
seed: symbol lookup error: /usr/lib64/libgtk-x11-3.0.so.0: undefined symbol: g_application_get_type

Version-Release number of selected component (if applicable):

[root@localhost /]# rpm -q seed
seed-2.31.5-1.fc14.x86_64
[root@localhost /]# rpm -q gtk2
gtk2-2.22.0-1.fc14.1.x86_64
[root@localhost /]# rpm -q glib2
glib2-2.26.0-2.fc14.x86_64

How reproducible:

Every time

Steps to Reproduce:
1. Write a seed app that uses gtk
2. Run seed app
3. Profit.
  
Actual results:


# seed /tmp/wades_awesome_test_gtk_application.js
seed: symbol lookup error: /usr/lib64/libgtk-x11-3.0.so.0: undefined symbol: g_application_get_type

Expected results:

My awesome app of testness to display, mana to fall from the heavens and riches to be lavished upon me. But really, I would be happy with the sample app displaying for now.

Additional info:

When I meant mana above, I meant bread, not the source of ability to do magic. just in case you were wondering.

A gtk application can be provided, but I think that this will end up with  the same solution that is shown in https://bugzilla.redhat.com/show_bug.cgi?id=638915

[wmealing@localhost tmp]$ objdump -T /usr/lib64/libgtk-x11-3.0.so.0 | grep g_application_get_type
0000000000000000      DF *UND*	0000000000000000              g_application_get_type

Probably something to do with dropping g_application as discussed here:

http://osdir.com/ml/general/2010-09/msg31067.html

Comment 1 Michel Lind 2010-11-04 22:18:38 UTC
Looks like a byproduct of the preparation for the aborted GNOME 3.0 release. I'm rebuilding seed against the GNOME 2.32.x stack; will post an updated build shortly.

Comment 2 Michel Lind 2010-11-04 23:56:25 UTC
Do you happen to have mutter installed (e.g. as a dependency for gnome-shell)? The latest mutter on Fedora 14 is built against GTK3, which gets pulled in as a dependency and that means the gi-repository has typelib files for both GTK2 and GTK3.

Colin, you mentioned in a previous gnome-games bug
https://bugzilla.redhat.com/show_bug.cgi?id=636118

that it is possible to specify a version number when accessing imports.gi.Gtk. What's the required syntax? I've not been able to find documentation on it.

I've managed to get seed 2.31.91 to compile -- looks like there's a problem with the new --with-webkit= selector, which is supposed to default to 3.0, but instead causes configure to fail if a value is not manually specified. Going to set it to 3.0 on Fedora > 14 and 1.0 on Fedora 14, with build requirements adjusted to match.

That way, hopefully users who don't have the Gtk3 stack installed would be able to run the default seed examples (until something pulls Gtk3 on their system...)

Comment 3 Michel Lind 2010-11-05 00:22:16 UTC
http://library.gnome.org/devel/seed/stable/seed-importer.html

the workaround is to specify the version you want *before* importing:

// must quote otherwise 2.0 gets evaluated as just 2
imports.gi.versions.Gtk = "2.0"
Gtk = imports.gi.Gtk

seed 2.31.91-2 will be released as an update for F-14; the workaround is documented in README.Fedora, and we could then re-enable the seed-based GNOME games.

Comment 4 Wade Mealing 2010-11-06 20:36:39 UTC
I don't think I have mutter installed, not unless its part of another package.

Comment 5 Wade Mealing 2010-11-06 20:49:27 UTC
Different problem, but probably related as per what you stated earlier.

[wmealing@localhost seedtest]$ seed test.js 

Gtk-ERROR **: GTK+ 3 symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
aborting...
Aborted (core dumped)

Comment 6 Michel Lind 2010-11-07 01:49:25 UTC
yup, you have gtk3 installed. I just assumed that it was pulled as a dependency for mutter/gnome-shell (shortly before F-14 Fedora started tracking the 2.91.x GNOME 3 branch of these).

Could you check and see what's using GTK+ 3.0 on your computer? Try rpm -e --test gtk3

If you don't absolutely need seed, then gjs, the other GNOME Javascript interpreter (wonder why they can't merge :P) works with both Gtk2 and Gtk3. You still need to specify the version if you specifically want one or the other, though.

Comment 7 Tommy He 2011-02-27 02:43:13 UTC
I came to this problem, too.

A temporarily workaround is to remove gtk3 application stack.

Hope a seed update would address this problem.


Note You need to log in before you can comment on or make changes to this bug.