GNOME Bugzilla – Bug 653077
Support for webkitgtk 1.5.1 / javascriptcoregtk 1.5.1
Last modified: 2011-11-29 09:03:05 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.
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)
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.)
Re-opening, as the segfaults are being reported, by others Build logs here: http://koji.fedoraproject.org/koji/taskinfo?taskID=3243146
*** Bug 655716 has been marked as a duplicate of this bug. ***
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
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
+ Trace 227996
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
+ Trace 228002
(gdb)
Can you see if this helps. https://bugzilla.gnome.org/show_bug.cgi?id=652771
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)!
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
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
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.
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
Just played a round of swell-foop with seed master.
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?
TEsted with swell-foop-3.1.4
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.
those libraries now should load ok. I will try to run some more tests on that server soon.
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.
added Thanks Alan
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?
Created attachment 202328 [details] [review] Fix the fix of the fix :( So deeply sorry I hope this is the last patch to my patches....
Commited thanks Regards Alan