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 653077 - Support for webkitgtk 1.5.1 / javascriptcoregtk 1.5.1
Support for webkitgtk 1.5.1 / javascriptcoregtk 1.5.1
Status: RESOLVED FIXED
Product: seed
Classification: Bindings
Component: libseed
3.1.x
Other Linux
: Normal major
: ---
Assigned To: seed-maint
: 655716 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-06-21 07:14 UTC by Dominique Leuenberger
Modified: 2011-11-29 09:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to detect javascriptcoregtk as needed (491 bytes, patch)
2011-07-02 19:06 UTC, Dominique Leuenberger
none Details | Review
blank pane with swell-foop from gnome-games 3.1.4 and seed git-master (9.47 KB, image/png)
2011-08-08 18:01 UTC, Michel Alexandre Salim
  Details
More fixes, also identify correctly javascriptcore-1.0 (1.20 KB, patch)
2011-08-12 19:29 UTC, Dominique Leuenberger
none Details | Review
Fix the fix of the fix :( So deeply sorry (949 bytes, patch)
2011-11-28 20:38 UTC, Dominique Leuenberger
none Details | Review

Description Dominique Leuenberger 2011-06-21 07:14:56 UTC
webkitgtk got split into webkitgtk and the smaller javascriptcoregtk library.

Configure tests this:

(in gtk2 situation)
checking for JSContextGroupCreate in -lwebkitgtk-1.0... no
checking for JSContextGroupCreate in -lwebkit-1.0... no
and fails.

In gtk3 situation, the configure checks passes correctly, but seed fails on linking later on with:
  CCLD   seed
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSValueMakeNull'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSValueIsNumber'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSContextGroupRelease'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSStringIsEqual'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSObjectMake'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSValueGetType'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSGlobalContextRelease'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSValueMakeBoolean'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSObjectCallAsFunction'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSValueUnprotect'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSGlobalContextRetain'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSObjectMakeArray'
../libseed/.libs/libseed-gtk3.so: undefined reference to `JSStringIsEqualToUTF8CString'
[... many more lines like this...]

Those references now live in javascriptcoregtk.
Comment 1 Dominique Leuenberger 2011-07-02 19:06:37 UTC
Created attachment 191160 [details] [review]
Patch to detect javascriptcoregtk as needed

This patch seems to work, but in y test builds at least seed segfaults later on...

I believe the patch is not wrong, but slight more adjustments might be needed (Or I'm unfortunate enough to have another issue in plus on my system... the segv happens in libc here)
Comment 2 Alan Knowles 2011-07-03 15:03:41 UTC
Works fine here. I've committed to core (apologies for lack of credit)

I'm making another bug to hold my current hack for fixing segfaults (On my system at least, I need to allocate an extra byte when creating structs.)
Comment 3 Alan Knowles 2011-08-01 23:29:57 UTC
Re-opening, as the segfaults are being reported, by others

Build logs here: http://koji.fedoraproject.org/koji/taskinfo?taskID=3243146
Comment 4 Alan Knowles 2011-08-01 23:32:05 UTC
*** Bug 655716 has been marked as a duplicate of this bug. ***
Comment 5 Alan Knowles 2011-08-01 23:43:14 UTC
salimma,

Can you get a backtrace on this.
 
#gdb src/.libs/lt-seed

(gdb) run doc/modules/make-functions.js doc/modules/readline/readline.js

Thanks
Comment 6 Dominique Leuenberger 2011-08-02 09:52:38 UTC
The one I get on openSUSE 12.1:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff722a636 in __strcmp_sse42 () from /lib64/libc.so.6
(gdb) bt full
  • #0 __strcmp_sse42
    from /lib64/libc.so.6
  • #1 seed_gobject_define_property_from_function_info
    at seed-engine.c line 896
  • #2 seed_struct_prototype
    at seed-structs.c line 628
  • #3 seed_define_gtype_functions
    at seed-gtype.c line 1036
  • #4 seed_gtype_init
    at seed-gtype.c line 1060
  • #5 seed_init_with_context_and_group
    at seed-engine.c line 1688
  • #6 seed_init_with_context_group
    at seed-engine.c line 1723
  • #7 seed_init
    at seed-engine.c line 1746
  • #8 main
    at main.c line 152

Comment 7 Michel Alexandre Salim 2011-08-02 20:40:15 UTC
On Fedora Rawhide x86_64:

Reading symbols from /home/fedora/salimma/seed/src/.libs/lt-seed...done.
(gdb) run doc/modules/make-functions.js doc/modules/readline/readline.js
Starting program: /home/fedora/salimma/seed/src/.libs/lt-seed doc/modules/make-functions.js doc/modules/readline/readline.js
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: "/usr/lib/debug/usr/lib64/libicudata.so.46.0.debug": separate debug info file has no debug info
[New Thread 0x7ffff3698700 (LWP 23826)]

Program received signal SIGSEGV, Segmentation fault.
__strcmp_sse2 () at ../sysdeps/x86_64/strcmp.S:213
213             movlpd  (%rdi), %xmm1
(gdb) bt full
  • #0 __strcmp_sse2
    at ../sysdeps/x86_64/strcmp.S line 213
  • #1 seed_gobject_define_property_from_function_info
    at seed-engine.c line 896
  • #2 seed_struct_prototype
    at seed-structs.c line 628
  • #3 seed_define_gtype_functions
    at seed-gtype.c line 1036
  • #4 seed_gtype_init
    at seed-gtype.c line 1060
  • #5 seed_init_with_context_and_group
    at seed-engine.c line 1688
  • #6 seed_init_with_context_group
    at seed-engine.c line 1723
  • #7 seed_init
    at seed-engine.c line 1746
  • #8 main
    at main.c line 152
(gdb)
Comment 8 Alan Knowles 2011-08-03 02:44:12 UTC
Can you see if this helps.

https://bugzilla.gnome.org/show_bug.cgi?id=652771
Comment 9 Michel Alexandre Salim 2011-08-03 07:30:02 UTC
That fixes the compilation issue, and seed seems to run. I'm currently updating one of my machines to Fedora 16 pre-alpha so I can run more rigorous tests (e.g. run GNOME Games' swell-foop) but so far, on the test machine available to Fedora users, I've encountered a problem with the XML binding.

The libxml2 versions are the same on both machines, so this is either introduced by the patch, or a regression compared to seed 3.0.0 I have on my local machine (with webkitgtk3 1.4.0 so not needing the workaround)

> xml = imports.libxml;
ModuleError Error loading native module at /usr/local/lib/seed-gtk3/libseed_libxml.so: /usr/local/lib/seed-gtk3/libseed_libxml.so: undefined symbol: xmlXPathFreeObject

I'll try building seed from Git, with and without the hack, to see what causes the XML brokenness.

Alan, do you have access to a machine where you can install webkitgtk 1.5.x? I could probably get you an account on the Fedora test machines -- seed is currently broken on Fedora 16 (seed 3 won't run anymore, and 3.1.1 can't be compiled without that hack) and I'm sure our test users would like to have working games -- and it looks like on GNOME 3.2 you need seed to even install gedit (via libpeas)!
Comment 10 Michel Alexandre Salim 2011-08-03 08:16:03 UTC
On seed 3.1.1 on Fedora 15, importing libxml works just fine.

$ rpm -q seed libxml2
seed-3.1.1-1.fc15.x86_64
libxml2-2.7.8-6.fc15.x86_64
libxml2-2.7.8-6.fc15.i686

and on Fedora 16, where it does not work:

mock-chroot> rpm -q libxml2
libxml2-2.7.8-6.fc16.x86_64
Comment 11 Alan Knowles 2011-08-03 09:05:14 UTC
The XML issue looks like it's unrelated, email me privately alan at akbkhome dot com. I might be able to solve it via ssh.

Regards
Alan
Comment 12 Alan Knowles 2011-08-08 09:40:39 UTC
The problem is that without webkit.so included any more, most of the modules assumed that libseed was linked with various libraries like xml.

Looking at the makefiles now to see how to add it.
Comment 13 Alan Knowles 2011-08-08 10:10:34 UTC
Can you try HEAD now, it seems to run imports.libxml fine now.

That fix should be in there, there may be other issues to resolve however. as other modules may need libraries that where previously available via webkit (gtkbuilder and cairo possibly)

Regards
Alan
Comment 14 Dominique Leuenberger 2011-08-08 14:02:38 UTC
Just played a round of swell-foop with seed master.
Comment 15 Michel Alexandre Salim 2011-08-08 17:01:31 UTC
Of the modules in %{_libdir}/seed-gtk3/*.so, the following cannot be imported:

> cairo = imports.cairo;
ModuleError Error loading native module at /usr/lib64/seed-gtk3/libseed_cairo.so: /usr/lib64/seed-gtk3/libseed_cairo.so: undefined symbol: cairo_matrix_init_identity


> canvas = imports.canvas;
ModuleError Error loading native module at /usr/lib64/seed-gtk3/libseed_canvas.so: /usr/lib64/seed-gtk3/libseed_canvas.so: undefined symbol: cairo_set_operator


> gtkbuilder = imports.gtkbuilder;
ModuleError Error loading native module at /usr/lib64/seed-gtk3/libseed_gtkbuilder.so: /usr/lib64/seed-gtk3/libseed_gtkbuilder.so: undefined symbol: gtk_builder_connect_signals_full

The others seem fine. Oh, and of course, the two tests related to paramspec fail as expected.

Haven't tried with swell-foop yet, the one in gnome-games-3.1.x is turned off by default; when trying with seed 3.1.1 earlier today swell-foop's window loads but there are no blocks displayed.

Dominique, are you trying with gnome-games 3.0.x or 3.1.x?
Comment 16 Dominique Leuenberger 2011-08-08 17:44:55 UTC
TEsted with swell-foop-3.1.4
Comment 17 Michel Alexandre Salim 2011-08-08 18:01:59 UTC
Created attachment 193431 [details]
blank pane with swell-foop from gnome-games 3.1.4 and seed git-master

Hm, odd, I'm still getting a blank pane after rebuilding against seed git-master.
Comment 18 Alan Knowles 2011-08-09 04:56:29 UTC
those libraries now should load ok. 

I will try to run some more tests on that server soon.
Comment 19 Dominique Leuenberger 2011-08-12 19:29:04 UTC
Created attachment 193730 [details] [review]
More fixes, also identify correctly javascriptcore-1.0

Seems I missed one more change also for javascriptcoregtk-1.0.

This patch adds the fix, basedon current git master.
Comment 20 Alan Knowles 2011-08-15 04:54:25 UTC
added
Thanks
Alan
Comment 21 Dominique Leuenberger 2011-11-28 19:27:24 UTC
Hi... I just see that there is a flaw in the logic of the last patch I submitted :(

Based on the fact that we set LIBS= before checking, this messes up the subsequent tests....

Really sorry for that.

Will rework an additional patch and submit. Shall I add to this bug again or better open a new bug report?
Comment 22 Dominique Leuenberger 2011-11-28 20:38:42 UTC
Created attachment 202328 [details] [review]
Fix the fix of the fix :( So deeply sorry

I hope this is the last patch to my patches....
Comment 23 Alan Knowles 2011-11-29 09:03:05 UTC
Commited thanks
Regards
Alan