Bundled JRE build error on Ubuntu 12.04
Closed this issue · 10 comments
Error trying to use the bundled JRE on Ubuntu Linux 12.04 with Node 0.8.24 and 0.10.4:
npm http GET https://registry.npmjs.org/closurecompiler
npm http GET https://registry.npmjs.org/send
npm http 200 https://registry.npmjs.org/url
npm http GET https://registry.npmjs.org/url/-/url-0.7.9.tgz
npm http 200 https://registry.npmjs.org/closurecompiler
npm http GET https://registry.npmjs.org/closurecompiler/-/closurecompiler-1.1.0.tgz
npm http 200 https://registry.npmjs.org/url/-/url-0.7.9.tgz
npm WARN package.json url@0.7.9 No README.md file found!
npm http 200 https://registry.npmjs.org/closurecompiler/-/closurecompiler-1.1.0.tgz
npm http 200 https://registry.npmjs.org/send
npm http GET https://registry.npmjs.org/querystring
npm http GET https://registry.npmjs.org/punycode
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http 200 https://registry.npmjs.org/querystring
npm http GET https://registry.npmjs.org/sleep
npm http GET https://registry.npmjs.org/closurecompiler-externs
npm http GET https://registry.npmjs.org/tar
npm http GET https://registry.npmjs.org/querystring/-/querystring-0.1.0.tgz
npm http 200 https://registry.npmjs.org/range-parser/0.0.4
npm http 200 https://registry.npmjs.org/punycode
npm http 200 https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http GET https://registry.npmjs.org/punycode/-/punycode-1.0.0.tgz
npm http 200 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/tar
npm http 200 https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/mime/-/mime-1.2.6.tgz
npm http 200 https://registry.npmjs.org/querystring/-/querystring-0.1.0.tgz
npm http 200 https://registry.npmjs.org/closurecompiler-externs
npm http GET https://registry.npmjs.org/closurecompiler-externs/-/closurecompiler-externs-1.0.0.tgz
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/sleep
npm http GET https://registry.npmjs.org/sleep/-/sleep-1.1.0.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http 200 https://registry.npmjs.org/punycode/-/punycode-1.0.0.tgz
npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.6.tgz
npm http 200 https://registry.npmjs.org/closurecompiler-externs/-/closurecompiler-externs-1.0.0.tgz
npm http 200 https://registry.npmjs.org/sleep/-/sleep-1.1.0.tgz
> sleep@1.1.0 preinstall /var/www/PeerCDN/node_modules/closurecompiler/node_modules/sleep
> node build.js
npm http GET https://registry.npmjs.org/fstream
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/block-stream
npm http 304 https://registry.npmjs.org/fstream
npm http 304 https://registry.npmjs.org/block-stream
npm http 304 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/mkdirp
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz
Nothing to clean (project not configured)
Setting srcdir to : /var/www/PeerCDN/node_modules/closurecompiler/node_modules/sleep
Setting blddir to : /var/www/PeerCDN/node_modules/closurecompiler/node_modules/sleep/build
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr
'configure' finished successfully (0.358s)
Waf: Entering directory `/var/www/PeerCDN/node_modules/closurecompiler/node_modules/sleep/build'
[1/2] cxx: sleep.cc -> build/Release/sleep_1.o
[2/2] cxx_link: build/Release/sleep_1.o -> build/Release/sleep.node
Waf: Leaving directory `/var/www/PeerCDN/node_modules/closurecompiler/node_modules/sleep/build'
'build' finished successfully (1.903s)
npm WARN prefer global closurecompiler@1.1.0 should be installed with -g
> closurecompiler@1.1.0 postinstall /var/www/PeerCDN/node_modules/closurecompiler
> npm run-script configure
> closurecompiler@1.1.0 configure /var/www/PeerCDN/node_modules/closurecompiler
> node scripts/configure.js
Configuring ClosureCompiler.js 1.1.0 ...
Downloading http://closure-compiler.googlecode.com/files/compiler-latest.tar.gz ...
| 0 / 5 mb
| 1 / 5 mb
| 2 / 5 mb
| 3 / 5 mb
| 4 / 5 mb
| 5 / 5 mb
��� Download complete: /var/www/PeerCDN/node_modules/closurecompiler/compiler/compiler.tar.gz (5 mb)
Unpacking /var/www/PeerCDN/node_modules/closurecompiler/compiler/compiler.tar.gz ...
| compiler.jar
| COPYING
| README
��� Unpack complete.
Configuring JRE ...
��� Global Java not found, we need to download the bundled JRE ...
Downloading http://bundled-openjdk-jre.googlecode.com/files/OpenJDK-JRE-7u6_24.tar.gz ...
| 0 / 43 mb
| 1 / 43 mb
| 2 / 43 mb
| 3 / 43 mb
| 4 / 43 mb
| 5 / 43 mb
| 6 / 43 mb
| 7 / 43 mb
| 8 / 43 mb
| 9 / 43 mb
| 10 / 43 mb
| 11 / 43 mb
| 12 / 43 mb
| 13 / 43 mb
| 14 / 43 mb
| 15 / 43 mb
| 16 / 43 mb
| 17 / 43 mb
| 18 / 43 mb
| 19 / 43 mb
| 20 / 43 mb
| 21 / 43 mb
| 22 / 43 mb
| 23 / 43 mb
| 24 / 43 mb
| 25 / 43 mb
| 26 / 43 mb
| 27 / 43 mb
| 28 / 43 mb
| 29 / 43 mb
| 30 / 43 mb
| 31 / 43 mb
| 32 / 43 mb
| 33 / 43 mb
| 34 / 43 mb
| 35 / 43 mb
| 36 / 43 mb
| 37 / 43 mb
| 38 / 43 mb
| 39 / 43 mb
| 40 / 43 mb
| 41 / 43 mb
| 42 / 43 mb
| 43 / 43 mb
��� Download complete: /var/www/PeerCDN/node_modules/closurecompiler/jre/jre.tar.gz (43 mb)
Unpacking /var/www/PeerCDN/node_modules/closurecompiler/jre/jre.tar.gz ...
| ASSEMBLY_EXCEPTION
| bin_linux/
| bin_linux/java
==========TRUNCATED==========
| THIRD_PARTY_README
��� Unpack complete.
Configuring bundled JRE for platform 'linux' ...
| 0755 /var/www/PeerCDN/node_modules/closurecompiler/jre
| /var/www/PeerCDN/node_modules/closurecompiler/jre/bin_linux -> /var/www/PeerCDN/node_modules/closurecompiler/jre/bin
| 0755 /var/www/PeerCDN/node_modules/closurecompiler/jre/bin/java
Complete.
Testing bundled Java ...
| exec /var/www/PeerCDN/node_modules/closurecompiler/jre/bin/java
��� Failed to call bundled java, trying global java instead ...
| exec java
��� Failed to call global Java.
��� Unfortunately, ClosureCompiler.js could not be configured.
See: https://github.com/dcodeIO/ClosureCompiler.js (create an issue maybe)
Thank you for submitting this! Can you try calling /var/www/PeerCDN/node_modules/closurecompiler/jre/bin/java
manually to see what it actually does?
node_modules/closurecompiler/jre/bin/java
doesn't exist! I think that after npm sees that the install script failed, it removes the whole node_modules/closurecompiler
folder.
Yes, this might be. Maybe you can try this:
Download http://bundled-openjdk-jre.googlecode.com/files/OpenJDK-JRE-7u6_24.tar.gz
and unpack
Rename bin_linux
to bin
, execute chmod 755 bin/java
Run ./bin/java
If you just want to make it work, you can also install Java on your machine so that a global Java is available. which is recommended, e.g. apt-get install openjdk-6-jre
As far as I can tell this is an error on the bundled JRE side, which is available only in ia32. I will look into this!
I followed your steps to manually download and run the JRE, and I get this error:
./bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
Also, my system is ia32, so that can't be the issue!
I was able to get it working by installing openjdk-7-jre
, so no worries. I just thought it would be cleaner if my app could work with a simple npm install
instead of requiring a system-wide JRE installation.
Yes, of course that's the expected behaviour. I will further investigate this issue on my Debian machines.
Thanks for the continued help. 👍
I've updated the package to 1.1.1 which now uses a platform specific JRE. However, I am not sure if this will fix the issue as it seems to be a linking error. I'd appreciate if you could test it :)
Will test this as soon as I get a chance.
Feross
feross.org
On Mon, Apr 22, 2013 at 4:40 AM, dcode notifications@github.com wrote:
I've updated the package to 1.1.1 which now uses a platform specific JRE.
However, I am not sure if this will fix the issue as it seems to be a
linking error. I'd appreciate if you could test it :)—
Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-16779568
.
Just tested this out and it works now! Thanks 👍