I think I've gotten geary to build with the new webkit. I changed two
things in src/CMakeLists.txt:
set(LIB_PATHS ${DEPS_LIBRARY_DIRS} /home/rschroll/webkit/lib)
and a few lines later I added to VALAC_OPTIONS
--girdir=/home/rschroll/webkit/share/gir-1.0
Unfortunately, I can't complete the compilation; now I'm getting errors
about libsecret:
[ 74%] Building C object src/CMakeFiles/geary.dir/client/secret-mediator.c.o
/home/rschroll/geary/src/client/secret-mediator.c:17:30: fatal error:
libsecret/secret.h: No such file or directory
I'm not sure why it can't find the header file, since it is installed.
$ locate secret.h
/usr/include/libsecret-1/libsecret/secret.h
Can someone with more CMake knowledge point me in the right direction?
Just to see if the webkit was squared away, I tried compiling 3198df0d,
the commit where webkit 1.10 is required, but right before libsecret was
added. I can get geary to compile, but when I run it, I get a seg fault
as soon as it tries to put something in the webview. Here's the
relevant part of the backtrace:
#0 0x00007ffff42d5350 in g_type_check_instance_cast ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1 0x00007ffff5e8b13d in WebKit::core(_WebKitDOMDOMTokenList*) ()
from /home/rschroll/webkit/lib/libwebkitgtk-3.0.so.0
#2 0x00007ffff5e8b784 in webkit_dom_dom_token_list_add ()
from /home/rschroll/webkit/lib/libwebkitgtk-3.0.so.0
#3 0x00000000004b3ac9 in conversation_viewer_add_message (self=0xaaa140,
email=0x7fff844c4e60)
at /home/rschroll/geary/src/client/views/conversation-viewer.vala:223
#4 0x0000000000457048 in geary_controller_do_show_message_co
(_data_=0xf94030)
at /home/rschroll/geary/src/client/geary-controller.vala:654
This worries me, but I don't know what to do about it.
Any help is appreciated,
Robert
On 04/19/2013 12:42 PM, Robert Schroll wrote:
Progress! I've gotten WebKit to build. Now I need to figure out how to
tell Geary to use the new WebKit in place of the system one. (And I
think I have to get the GIR files from somewhere else.)
For the record, here's what I did:
- Get a tarball from the webkitgtk releases
(http://webkitgtk.org/releases/), not from the main webkit site. (That
was what was causing my confusion about build systems last night.) I
chose 1.10.2, the most recent of the 1.10 series.
- Get the build dependencies:
sudo apt-get build-dep webkit
- Install some GL libraries (for reasons that will come apparent later)
sudo apt-get install libgl1-mesa-dev mesa-common-dev
- Upgrade libsoup. 12.04 has 2.38.1, WebKit wants 2.40 or greater. I
did this by adding ppa:laney/webkit-backports and choosing to upgrade
libsoup2.4-1. This ended up requiring upgrades of:
gir1.2-soup-2.4
glib-networking
glib-networking-common
glib-networking-services
glib-networking:i386
libglib2.0-0
libglib2.0-0:i386
libglib2.0-bin
libglib2.0-dev
libpcre3
libpcre3-dev
libpcre3:i386
libpcrepp0
libsoup2.4-1
libsoup2.4-1:i386
libsoup2.4-dev
I am slightly worried about upgrading libglib, but no ill effects so far.
- Configure with
./configure --prefix="$HOME/webkit" --disable-video --disable-xslt
--disable-webkit2
At first, I tried to disable almost everything that seemed unnecessary,
but this kept leading to compilation errors. Then I tried disabling
just the four modules that Eric recommended (the three above plus
webGL). This got all the way through to the linker, where it failed
with a message about being unable to find some GL symbols. So I added
webGL back in.
- Make with make
make
This took an hour or two.
- Install to ~/webkit
make install
The only binary installed was the javascript console, which does work.
Now to see about compiling Geary against this. Any and all hints
appreciated.
Thanks for the help,
Robert
_______________________________________________
Geary mailing list
[email protected]
http://lists.yorba.org/cgi-bin/mailman/listinfo/geary