Open shvelo opened 11 years ago
I'd love it to run on Linux! The only thing stopping it is that the Linux build configurations haven't been updated with the new files and scripts. The same is true with Windows. I'd be happy to assist anybody who wants to try, but I don't have plans to do it myself yet.
I smell a challenge here. I'll fork and see what I can do over the next few days. I am a bit under the weather(or maybe the weather is a bit over me), but I will keep you updated.
I tried compiling it on Ubuntu Quantal this evening. The autogen was chugging along, and I had to install a bunch of dev libraries. I got stuck on the gstreamer stuff, because the dev packages in the repository are 1.0.1 and this requires 1.0.3. Next step is to poke around and find newer versions.
I don't know much about building WebKit on Linux, but the pages about WebKit for Qt, EFL, and GTK might help. We probably only need one, but I'm not sure about the differences between them. The lack of a unified build system in WebKit is troublesome, but it may be fixed soon.
As for Ruby-specific stuff, the build needs to include all the files from Source/WebCore/bindings/rb
. Some of the files that used to be in bindings/js
are now in bindings/generic
, and there are now JS-specific ones in the js
folder that need to be included as well.
Also, the RB*.{h,cpp}
files in the derived sources need to be included. These will be generated at build time in WebKitBuild/{Debug/Release}/DerivedSources
. Not all of them should be included. Only those included by bindings/rb/RBInitialization.cpp
plus RB{SVG,HTML}ElementWrapperFactory
and the event target headers.
Finally, WebCore needs to link against Ruby. The source for Ruby 2.0 is in Source/Ruby
. I imagine compiling it on Linux should be straightforward, but Windows may be a drag. I use a static library on the Mac build so we know exactly which version of Ruby we're working with.
Let me know if you run into any more problems. Thanks, and feel better!
I'll work on the gtk one first. If I get that to work, then maybe go for Qt.
Still working on this. Having some trouble with gstreamer dependencies. Quantal has libraries for 1.0.1. I think I'll have to download the latest from the repository and somehow compile those in. This is quite an adventure.
Yeah, compiling WebKit on Linux seems like an adventure. When I'm finished with some other stuff, I'll check it out in a Linux VM and see what's going on.
arch linux always runs on the bleeding edge. So, I tried installing cinnarch on a vm but the installer kept crashing. Tonight I will try again with manjaro. If I do not make any progress then I will recruit some help from my coworkers. We have some 300 developers so I'm sure I'll be able to get some good help
Had some problems with my virtualbox setup. I will try again some more tomorrow.
Very cool! I haven't checked it out on Linux yet, but I should get to it next week after I get web workers working.
hopefully i will have it compiled and running by then. You know the language. You keep on perfecting your masterpiece. I will be your right hand linux man.
Great to hear this.
UPDATE: I have an arch linux box set up for build. I have been trying to clone the repository to it, however, github keeps running out of memory for compressing the data. I almost had it once, but then I ran out of disk space on my virtual machine (8 Gb). I should get it cloned today.
Very cool! The git repo is pretty huge. On my machine, the main repo with a few old branches is up to 20GB at the moment. That's including all the built files, which take up about 11GB.
Probably b/c git creates lots and lots of tiny files. I recently came to realize just how bad it was when I tried to copy my projects and discovered they ballooned in size to over 30 GB -- for a set of projects that without git would probably take up far less than 1GB. I wonder if Reiser4 wouldn't makes sense for git developers to use b/c it handles small files more efficiently.
HALLELUJAH! It is cloned.
I kept letting it run overnight, only to find some small thing like a timeout or something halted the receipt of repository objects. This morning, however, I woke up to the good news that it cloned completely. I have half a mind to back up the directory to some other disk!
This is just in time for the weekend. I can spend a few hours straight devoted to building this. If I am lucky, I will have a binary for you.
Awesome! Let me know if you run into any problems.
Any idea what this might mean?
autoreconf: running: /usr/bin/autoconf --include=Source/autotools
configure:5321: error: possibly undefined macro: AC_DISABLE_STATIC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure:5322: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
configure:5323: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1
I think it meant that I did not have gcc installed, because after I installed gcc it went away.
Strange. So you no longer get that error?
No more. It was kind of strange. I would have expected "gcc not found" or some stripe. I was compiling for a while, then it errored out with this:
CXX Source/WebKit/gtk/WebCoreSupport/libwebkitgtk_3_0_la AcceleratedCompositingContextGL.lo
In file included from ./Source/WebCore/loader/HistoryController.h:34:0,
from ./Source/WebCore/loader/FrameLoader.h:38,
from ./Source/WebCore/page/ChromeClient.h:30,
from Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:24,
from Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp:26:
./Source/WebCore/bindings/js/SerializedScriptValue.h:33:23: fatal error: Ruby/ruby.h: No such file or directory
#include <Ruby/ruby.h>
^
compilation terminated.
make[1]: *** [Source/WebKit/gtk/WebCoreSupport/libwebkitgtk_3_0_la-AcceleratedCompositingContextGL.lo] Error 1
make[1]: Leaving directory `/home/moriger/decaf'
make: *** [all] Error 2
Do you have Ruby dev package? I think it's ruby1.9.1-dev or ruby1.8.3-dev. Oh I thought you were building Linux version on Linux.
Ruby compiles as a static library with the Xcode project, so we need to make it compile during the Linux build as well. The Ruby source is in Source/Ruby, and it needs to be compiled before WebCore. Here is the script that runs during the Xcode build:
mkdir -p "${OBJECT_FILE_DIR}"
cd "${OBJECT_FILE_DIR}"
if [ ! -e "Makefile" ]; then
cd "${SRCROOT}"/Source
autoconf
cd "${OBJECT_FILE_DIR}"
"${SRCROOT}"/Source/configure \
--prefix="${BUILT_PRODUCTS_DIR}"/DerivedSources/Ruby/ \
--with-rubyhdrdir="${BUILT_PRODUCTS_DIR}"/DerivedSources/Ruby/include \
--with-rubyarchhdrdir="${BUILT_PRODUCTS_DIR}"/DerivedSources/Ruby/include \
--disable-install-doc \
--disable-rubygems \
--disable-multiarch \
--without-gcc
fi
if [ "${ACTION}" = "build" ]; then
make
make install
cp "${BUILT_PRODUCTS_DIR}"/DerivedSources/Ruby/lib/libruby-static.a "${BUILT_PRODUCTS_DIR}"/libRuby.a
fi
If [ "${ACTION}" = "clean" ]; then
make clean
fi
@timahoney OK cool. I'll see if I can set that up
@shvelo Yes I am compiling this on Arch linux
Also, you may have to add the Ruby bindings generation to the WebCore build process. That stuff is found in Source/WebCore/DerivedSources.make
. I'm not sure if the GTK build process uses that file. If it doesn't you'll need to add the bindings code generator and the wrapper factory generation to the GTK build. Search for Ruby
and wrapperFactoryRB
in that file to see what's going on.
+1
How's tricks porting on Linux?)
Are there any updates on porting this to Windows or Linux? Is this project still alive?
Sadly, I am no longer working on this project, so no more progress has been made.
On Dec 13, 2013, at 7:11 AM, Kingsley Hendrickse notifications@github.com wrote:
Are there any updates on porting this to Windows or Linux? Is this project still alive?
— Reply to this email directly or view it on GitHub.
Will this support Linux?