GNOME Bugzilla – Bug 623768
libproxy build fail: "jsapi.h not found"
Last modified: 2010-09-28 12:47:41 UTC
Using jhbuild, building from scratch: --- frank@frank:~$ jhbuild buildone libproxy *** Checking out libproxy *** [1/1] gunzip -dc "/opt/gnome2/usr/src/libproxy-0.4.3.tar.gz" | tar xf - *** Applying patch libproxy-0.4-python-libdir.patch *** [1/1] patch -p1 < "/mnt/common/home/frank/.cache/jhbuild/libproxy-0.4-python-libdir.patch" patching file bindings/CMakeLists.txt patching file bindings/perl/CMakeLists.txt *** Configuring libproxy *** [1/1] cmake -DCMAKE_INSTALL_PREFIX=/opt/gnome2 /opt/gnome2/usr/src/libproxy-0.4.3 -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/lib64/ccache/gcc -- Check for working C compiler: /usr/lib64/ccache/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- CTest cannot determine repository type. Please set UPDATE_TYPE to 'cvs' or 'svn'. CTest update will not work. -- checking for modules 'NetworkManager;dbus-1' -- found NetworkManager, version 0.7.2.997 -- found dbus-1, version 1.2.24 -- checking for module 'webkit-1.0' -- package 'webkit-1.0' not found -- checking for one of the modules 'xulrunner-js;firefox-js;mozilla-js;seamonkey-js' -- found mozilla-js, version 1.9.1.7 -- checking for modules 'gconf-2.0;gobject-2.0' -- found gconf-2.0, version 2.31.6 -- found gobject-2.0, version 2.25.11 MODULES TO BUILD: * config_envvar m config_gnome config_kde4 config_macosx config_w32reg * ignore_domain * ignore_hostname * ignore_ip m network_networkmanager * pacrunner_mozjs pacrunner_webkit * wpad_dns_alias -- Found PythonInterp: /usr/bin/python2.6 -- Found Perl: /usr/bin/perl -- Found PerlLibs: /usr/lib64/perl5/CORE/libperl.so -- Configuring done -- Generating done -- Build files have been written to: /mnt/common/opt/gnome2/usr/src/libproxy-0.4.3 *** Building libproxy *** [1/1] make Scanning dependencies of target libmodman [ 2%] Building CXX object libmodman/CMakeFiles/libmodman.dir/module_manager.cpp.o Linking CXX shared library libmodman.so ... [ 68%] Building CXX object libproxy/CMakeFiles/libproxy.dir/modules/ignore_ip.cpp.o [ 71%] Building CXX object libproxy/CMakeFiles/libproxy.dir/modules/pacrunner_mozjs.cpp.o /opt/gnome2/usr/src/libproxy-0.4.3/libproxy/modules/pacrunner_mozjs.cpp:34:19: error: jsapi.h: No such file or directory /opt/gnome2/usr/src/libproxy-0.4.3/libproxy/modules/pacrunner_mozjs.cpp:45: error: ‘JSBool’ does not name a type ... /opt/gnome2/usr/src/libproxy-0.4.3/libproxy/modules/pacrunner_mozjs.cpp:158: error: ‘JS_GetStringBytes’ was not declared in this scope make[2]: *** [libproxy/CMakeFiles/libproxy.dir/modules/pacrunner_mozjs.cpp.o] Error 1 make[1]: *** [libproxy/CMakeFiles/libproxy.dir/all] Error 2 make: *** [all] Error 2 *** Error during phase build of libproxy: ########## Error running make *** [1/1] --- I don't know if this matters or not but xlrunner-devel-1.9.2.4-1.fc13 (x86_64) is installed on this system and includes jsapi.h. However the search for javascript modules skipped over xlrunner and went to mozilla-js instead. Thanks in advance..
It's a bit of a hack but I've got a workaround once a compile fails: - edit libproxy/CMakeFiles/libproxy.dir/flags.make - the value of CXX_FLAGS needs to add -I<prefix>/include/xulrunner-1.9.1.7/unstable The "stable" directory is included in CXX_FLAGS but the "unstable" directory (where 'jsapi.h' is installed) is not.
Yes is True the problem is solve, but this bug is part of GNOME? I Dont Know....
I'm not sure either. I ran into this while trying to pull a gnome-3 sandbox together so it's either libproxy or that the gnome-3 build is one dot-rev behind (http://code.google.com/p/libproxy/ indicates current is 0.4.4; jhbuild is offering 0.4.3)
I'm hitting the same issue. Seems xulrunner's fault though: http://www.mail-archive.com/slackbuilds-users@slackbuilds.org/msg03622.html I also tried to update the libproxy versin to 0.4.4 but it also fails
Ok, I made it work just by: cd /opt/gnome/install/include/xulrunner-1.9.1.7 cp unstable/js* stable/ What I found weird is that libproxy needs this files which come from xulrunner but on libproxy jhbuld info it says that libproxy has to go BEFORE mozilla, so on a clean scenario (i.e. your first build) you get a circular dependency because when builiding libproxy there will still not be any js* files.
(In reply to comment #5) > Ok, > > I made it work just by: > > cd /opt/gnome/install/include/xulrunner-1.9.1.7 > cp unstable/js* stable/ Actually the bug is in mozilla-js.pc file, no in libproxy, see bug 628558 for a fix. Updating to xulrunner 1.9.2 would also make it work since this bug is fixed upstream. > > What I found weird is that libproxy needs this files which come from xulrunner > but on libproxy jhbuld info it says that libproxy has to go BEFORE mozilla, so > on a clean scenario (i.e. your first build) you get a circular dependency > because when builiding libproxy there will still not be any js* files. Not a jhbuild expert, but I think after is applied to libproxy, meaning that if mozilla or WebKit is part of your build, you should build libproxy after those.
Created attachment 169991 [details] [review] [2.32,3.0] Fixed mozilla-js.pc include path This fixes mozilla-js.pc include path and fixes libproxy compilation at the same time.
*** Bug 628558 has been marked as a duplicate of this bug. ***
It's finally in. commit 9c8d8f7c0cfca82b6df71bf8d0715ad4c79d0b4b Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> Date: Tue Sep 28 14:15:19 2010 +0200 [2.32, 3.0] Fixed mozilla-js.pc include path In xulrunner 1.9.1 the JavaScript engine headers are found in unstable folder of the includes directory while mozilla-js.pc says it's in stable. This fixes libproxy build against mozilla.