fud0 / javacef

Automatically exported from code.google.com/p/javacef
0 stars 0 forks source link

Error while building on Arch Linux 64 #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
On Arch Linux 64 bit, while running "tools/configure.sh linux64" I get the 
following error:

...
A    tools/gyp/data
A    tools/gyp/data/win
A    tools/gyp/data/win/large-pdb-shim.cc
A    tools/gyp/OWNERS
Estratta revisione 1895.
Generating ninja build files...
  File "/home/luca/git/javacef/cef3/tools/gyp_chromium", line 88
    except SyntaxError, e:
                      ^
SyntaxError: invalid syntax

Python version -> 3.4.1
Ninja version  -> 1.5.1
SVN version    -> 1.8.9
GIT version    -> 2.0.1

Can you help please?

Original issue reported on code.google.com by luca.vig...@e-levelcom.com on 4 Jul 2014 at 1:23

GoogleCodeExporter commented 9 years ago
I made a little progress. The issue was with Python 3.
So I made:

$ mkdir ~/bin
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-conf
$ export PATH=~/bin:$PATH

Now compiling goes a little further but then I get:

Generating ninja build files...
Updating projects from gyp files...
gyp: Call to 'tools/build/linux/python_arch.sh /usr/lib/libpython2.6.so.1.0' 
returned exit status 1.

$ python --version now gives 2.7.8
Is it requiring just python 2.6?

Original comment by luca.vig...@e-levelcom.com on 4 Jul 2014 at 1:37

GoogleCodeExporter commented 9 years ago
Ok, got it.

I have replaced       'python_ver%': '2.6' with       'python_ver%': '2.7'
in file tools/common.gypi

Now I'll try to move on with the build instructions and see if everything else 
goes smoothly

Original comment by luca.vig...@e-levelcom.com on 4 Jul 2014 at 1:59

GoogleCodeExporter commented 9 years ago
Unfortunately I had no luck...

$ ninja -C out/Debug
gives error:

...
../../chromium_loader/cefclient/client_handler.cpp:48:6: error: ‘bool 
{anonymous}::ParseTestUrl(const string&, std::string*, std::string*)’ defined 
but not used [-Werror=unused-function]
 bool ParseTestUrl(const std::string& url,
      ^
cc1plus: all warnings being treated as errors
[114/120] CXX obj/chromium_loader/cefclient/chromium_loader.window_test.o
ninja: build stopped: subcommand failed.

I'm stuck there... can you help please?

Original comment by luca.vig...@e-levelcom.com on 4 Jul 2014 at 2:03

GoogleCodeExporter commented 9 years ago
Can you try to set 'werror%': '', in tools/common.gypi line 2915, and 
re-generate "tools/configure.sh linux64"? What is your gcc version by the way?

Original comment by wjyw...@gmail.com on 4 Jul 2014 at 3:55

GoogleCodeExporter commented 9 years ago
Hi,

$ gcc --version
gcc (GCC) 4.9.0 20140604 (prerelease)

I followed your instructions and

ninja -C out/Debug
ninja -C out/Release

succeed. Now I'm going to try make and let you know what happens

Original comment by luca.vig...@e-levelcom.com on 5 Jul 2014 at 11:49

GoogleCodeExporter commented 9 years ago
..ok no need to run "make" if using ninja, right? In out/release I found 
javacef3_linux64.jar which is my target.

Original comment by luca.vig...@e-levelcom.com on 5 Jul 2014 at 11:52

GoogleCodeExporter commented 9 years ago
unfortunately "tools/run.sh linux64 release" gives me error:

Running Release build.
[0705/135953:FATAL:browser_main_loop.cc(168)] Running without the SUID sandbox! 
See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for 
more information on developing with the sandbox on.
tools/run.sh: riga 81:  7022 Annullato               java -cp 
"$PROJECT_DIR/java/lib/linux/swt64.jar:$BUILD_DIR/$JAR_NAME" 
-Djava.library.path="$BUILD_DIR/lib:$BUILD_DIR/lib.target" 
-Duser.dir="$PROJECT_DIR/java" org.embedded.browser.SampleBrowserSWT

Original comment by luca.vig...@e-levelcom.com on 5 Jul 2014 at 12:00

GoogleCodeExporter commented 9 years ago
I think you are using a wrong cef version. 3.1750.1738 should be used, and 
there should be a "chrome-sandbox" file in cef_runtime/linux64. Then follow the 
info in this link 
https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment, or:

sudo chown root:root cef_runtime/linux64/chrome-sandbox
sudo chmod 4755 cef_runtime/linux64/chrome-sandbox

Then you should be able to run it.

Original comment by wjyw...@gmail.com on 5 Jul 2014 at 3:47

GoogleCodeExporter commented 9 years ago
If you want the sandbox disabled, you can add "settings.no_sandbox = true;" 
after "settings.log_severity = LOGSEVERITY_DISABLE;" in 
chromium_loader/chromium_loader/chromium_loader_linux.cpp

Original comment by wjyw...@gmail.com on 5 Jul 2014 at 3:51

GoogleCodeExporter commented 9 years ago
Thanks for the info. Just for information, I have downloaded cef from here:

http://www.magpcss.net/cef_downloads/index.php?file=cef_binary_3.1750.1738_linux
64_client.7z

And I confirm that I do have chrome-sandbox in cef_runtime/linux64 but it is 
still complaining about sandbox..
I'll try to compile by following your instrunctions at comment #9

Original comment by luca.vig...@e-levelcom.com on 7 Jul 2014 at 12:48

GoogleCodeExporter commented 9 years ago
Hi, finally I found the time to try your solution at comment #9 and it worked!

So, I summarize the steps to take in order to build in Arch Linux:

1) By deafult, Arch Linux uses python 3, so you need to temporary set Phyton 2 
as default. You can do it like this:

$ mkdir ~/bin
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-conf
$ export PATH=~/bin:$PATH

2) Replace 'python_ver%': '2.6' with 'python_ver%': '2.7' in file 
tools/common.gypi

3) set 'werror%': '', in tools/common.gypi line 2915

4) Now generate and compile:
$ tools/configure.sh linux64
$ ninja -C out/Debug
$ ninja -C out/Release

5) to run the example:
$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk (or whatever your jdk is)
$ tools/run.sh linux64 release

Original comment by luca.vig...@e-levelcom.com on 10 Jun 2015 at 11:46