-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error building WebKit for ARM #1
Comments
That's very weird, but from the log you pasted it looks like the compiler from the toolchain you're using is having trouble with finding the Thumb-2 extensions for the Thumb instruction set? But that suggests a bug maybe in the code that detects that in WebKit, although I'm not 100% sure. What happens if you leave only line 110 in OptionsCommon.cmake and remove the following ones:
That should force your build to be configure your build as "ARM TRADITIONAL" and skip that check, which would not be a fix of course, but maybe drops some light... Sorry not to be more helpful. As I said in my post, "I'm not a CMake expert", not at all :-) |
Btw, these last tree paths do not seem right: they should be the paths relative to the root of your ARM root filesystem, not to your local machine, so that when you run WebKit later on your device, it will look for the files in the right places. For instance, I use this:
Not that it will probably make any difference for compiling, but still worth mentioning. |
Argh! Stupid github... I edited your first comment by mistake, and now I can't get it back. Sorry! @galvesribeiro PS: if you by any chance still have the page open in your browser, please re-edit the description and add the info there back again. If only github had a way to see the history of an issue... dear-github/dear-github#129 |
@mariospr oh gosh, I don't have the page. There is a history I think on the "edited" word but only you or any other contributor can see it. |
Nope, there's nothing like that... sigh. Anyway, I hope my comments are helpful to you at least |
@mariospr yup I comented out that IF and the ARM thumb error goes away. Now it is complaining here:
|
And regarding the paths, I'm not using the chroot because it doesn't work on "Bash for Windows" (Ubuntu on Windows 10) yet but, the environment is clean and has everything you requested on the tutorial except the toolchain which I have to use the one from the device manufacturer. Here is the toolchain + sysroot https://drive.google.com/open?id=0B7G82Sx-erLTUmlWZEZPNUVodjQ Any idea? |
Good. Now, assuming you have the right paths set in the CMake toolchain file, pointing to your rootfs and all that, I'd say what's going on here is that your rootfs does not have a recent enough version of cairo for WebKit2GTK to compile against. Or maybe, and actually this looks more likely, that you don't have the -devel package for cairo installed in your rootfs, so there are no header files, no pkgconfig .pc files... nothing. You need to get all the build dependencies for WebKit installed in the rootfs, or this won't work. For a hint on what exactly is needed, you can check the Build-Deps declared by debian in the debian/control file, inside this tarball: http://http.debian.net/debian/pool/main/w/webkit2gtk/webkit2gtk_2.14.0-1.debian.tar.xz |
You don't strictly need a chroot to build this, but I like to use it to have reproducible environments and not having to depend on my current host system, which might change. |
@mariospr yeah I know. Let me look at the list of the dependencies. I though webkit building process would build it. Will let you know about the updates. Thanks! :) |
WebKit2GTK builds the dependencies if you use the |
Alright, no problem. I just need to find out the dependency list for it. Another question... The target device is a ARMv6l that has no Window Manager and only the framebuffer exposed... Do you think it is possible to use webkit on it? All I need is a full screen "browser" that render HTML5/CSS3/JS local web apps... |
It should be possible. IIRC, the buildbots used for WebKit2GTK+ use Xvfb to run the tests, so I'm guessing having a WM is not strictly required and that a framebuffer is enough. |
fwiw I'm having the same issue as above, it's not 'detecting' cairo properly, even though I have the lib + headers installed.
It even finds it Would appreciate any help :) |
I think it's finding the Cairo libraries in your host system and somehow CMake is getting confused and not reporting a very useful error by saying that "you have "1.14.6 (in your host) installed but minimum required is 1.10.2 (in your ARM rootfs, where you probably don't have Cairo's dev files). Please check whether you have the relevant .pc file for cairo inside the ARM rootfs and, if present, which version it does specify. My guessing is that you don't have it there, and you'll have to first install it. FWIW, I add extra dependencies in my ARM rootfs by chrooting into it (using qemu-arm-static + binfmt) and then apt-get installing things from there. It's slow, but works :) |
@mariospr Ah, sorry - I forgot to mention I'm doing this all on my host. Clean ubuntu 16.04, I edited the toolchain file to remove all the references to |
I'm a bit confused now: if you're doing all this directly in your host machine, why do you need to use this toolchain file at all? WebKitGTK+ builds fine both on Intel and ARM (and other arches too) natively, this toolchain file is only meant to be used for cross compiling. |
Btw, these last tree paths do not seem right: they should be the paths relative to the root of your ARM root filesystem, not to your local machine, so that when you run WebKit later on your device, it will look for the files in the right places.
For instance, I use this:
Not that it will probably make any difference for compiling, but still worth mentioning.
The text was updated successfully, but these errors were encountered: