Open rjcorwin opened 9 years ago
are you installing using the root user?
@treehouse-su @mafintosh Yup, installing as root.
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.36"
^ This line seems to be like an obvious issue, but then it changes dir and that seems ok.
make: *\ No rule to make target '../.node-gyp/0.10.36/common.gypi', needed by 'Makefile'. Stop.
^ This line I think is the most telling. My guess is that common.gypi
doesn't doesn't exist in earlier versions of node but it does in more recent ones.
npm ERR! node -v v0.10.36 ^ Note - It may be a matter of upgrading Node on Pirateship for Pi.
@rjsteinert try running it with --unsafe-perm
Trying...
Running it on a Pi-1b which takes some time. Will boot a Pi-2b in parallel.
Same story on Pi-2b.
root@raspberrypi:/home/pi# npm install dat
|
> leveldown@1.3.0 install /home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown
> node-pre-gyp install --fallback-to-build
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.38"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/.node-gyp"
make: Entering directory '/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
make: *** No rule to make target '../.node-gyp/0.10.38/common.gypi', needed by 'Makefile'. Stop.
make: Leaving directory '/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 3.18.11-hypriotos-v7+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node" "--module_name=leveldown" "--module_path=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp"
gyp ERR! cwd /home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown
gyp ERR! node -v v0.10.38
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:98:17)
node-pre-gyp ERR! stack at maybeClose (child_process.js:766:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:833:5)
node-pre-gyp ERR! System Linux 3.18.11-hypriotos-v7+
node-pre-gyp ERR! command "node" "/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown
node-pre-gyp ERR! node -v v0.10.38
node-pre-gyp ERR! node-pre-gyp -v v0.6.9
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/home/pi/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
npm ERR! EEXIST, open '/root/.npm/c0a84e00-eadable-stream-2-0-2-package-tgz.lock'
File exists: /root/.npm/c0a84e00-eadable-stream-2-0-2-package-tgz.lock
Move it away, and try again.
npm ERR! System Linux 3.18.11-hypriotos-v7+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "dat"
npm ERR! cwd /home/pi
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /root/.npm/c0a84e00-eadable-stream-2-0-2-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
Ok :( we are setting up prebuilds for leveldown for Raspberry Pi tomorrow. That should fix this going forward. I'll ping you in this thread when they are online.
Thanks @mafintosh - builds of leveldown would certainly speed things up. I'm now going to attempt to update some things in the Pirateship for Pi environment and run again.
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs
npm install npm -g
npm install -g dat
Similar looking error. We haven't ruled out this being an issue specific to Pirateship for Pi yet so I'm going to try the above commands on a stock Raspbian image.
root@raspberrypi:/home/pi# npm install -g dat
npm WARN installMany node-pre-gyp was bundled with leveldown@1.3.0, but bundled package wasn't found in unpacked tree
> leveldown@1.3.0 install /usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
> node-pre-gyp install --fallback-to-build
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.12.7"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/.node-gyp"
make: Entering directory '/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
make: *** No rule to make target '../.node-gyp/0.12.7/common.gypi', needed by 'Makefile'. Stop.
make: Leaving directory '/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 3.18.11-hypriotos-v7+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node" "--module_name=leveldown" "--module_path=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp"
gyp ERR! cwd /usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:110:17)
node-pre-gyp ERR! stack at maybeClose (child_process.js:1015:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
node-pre-gyp ERR! System Linux 3.18.11-hypriotos-v7+
node-pre-gyp ERR! command "node" "/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
node-pre-gyp ERR! node -v v0.12.7
node-pre-gyp ERR! node-pre-gyp -v v0.6.9
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/usr/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
npm ERR! Linux 3.18.11-hypriotos-v7+
npm ERR! argv "node" "/usr/bin/npm" "install" "-g" "dat"
npm ERR! node v0.12.7
npm ERR! npm v2.13.2
npm ERR! code ELIFECYCLE
npm ERR! leveldown@1.3.0 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the leveldown@1.3.0 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the leveldown package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR! npm owner ls leveldown
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs
npm install npm -g
npm install -g dat
Tried ^ and received segmentation fault. With help from @treehouse-su (dogi) he explained how some debs for node work for Pi-1b and some work for Pi-2b. I now have the following running on an Pi-1b on top of latest Raspbian.
# raspberry pi 2
wget https://deb.nodesource.com/node_0.12/pool/main/n/nodejs/nodejs_0.12.7-1nodesource1~wheezy1_armhf.deb
dpkg -i nodejs_0.12.7-1nodesource1~wheezy1_armhf.deb
npm install -g dat
# raspberry pi 1
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
mv node_latest_armhf.deb node_0.12.6_armhf.deb
dpkg -i node_0.12.6_armhf.deb
npm install -g dat
The next step is running the Pi-2b script on a Raspbian build.
Here is output for Pi-1b on Raspbian using the script above for getting node 0.12.6 from herokuapp.
root@raspberrypi:/home/pi# node --version
v0.12.6
root@raspberrypi:/home/pi# npm --version
2.11.2
root@raspberrypi:/home/pi# npm install -g dat
npm WARN installMany node-pre-gyp was bundled with leveldown@1.3.0, but bundled package wasn't found in unpacked tree
> leveldown@1.3.0 install /usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
> node-pre-gyp install --fallback-to-build
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.12.6"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/.node-gyp"
make: Entering directory '/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
make: *** No rule to make target '../.node-gyp/0.12.6/common.gypi', needed by 'Makefile'. Stop.
make: Leaving directory '/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 3.18.11+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node" "--module_name=leveldown" "--module_path=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp"
gyp ERR! cwd /usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
gyp ERR! node -v v0.12.6
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:110:17)
node-pre-gyp ERR! stack at maybeClose (child_process.js:1015:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
node-pre-gyp ERR! System Linux 3.18.11+
node-pre-gyp ERR! command "node" "/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown
node-pre-gyp ERR! node -v v0.12.6
node-pre-gyp ERR! node-pre-gyp -v v0.6.9
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp/leveldown.node --module_name=leveldown --module_path=/usr/local/lib/node_modules/dat/node_modules/dat-core/node_modules/leveldown/build-pre-gyp' (1)
npm ERR! Linux 3.18.11+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "dat"
npm ERR! node v0.12.6
npm ERR! npm v2.11.2
npm ERR! code ELIFECYCLE
npm ERR! leveldown@1.3.0 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the leveldown@1.3.0 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the leveldown package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR! npm owner ls leveldown
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
@mafintosh Perhaps we move this issue to the dat
issue queue? Something like npm install of dat failing for R-Pi
.
npm install -g dat --verbose --unsafe-perm
on Pi-1b using latest Raspian worked!
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
mv node_latest_armhf.deb node_0.12.6_armhf.deb
dpkg -i node_0.12.6_armhf.deb
npm install -g dat --verbose --unsafe-perm
And then this worked... getting closer.
root@raspberrypi:/home/pi/opk-cli--dat# dat init --no-prompt
Initialized a new dat at /home/pi/opk-cli--dat
root@raspberrypi:/home/pi/opk-cli--dat# echo "42" | ./push
{"d":"42"}
Wrote [+1, -0].
Done importing data.
Version: 231698ffb0cfe9533cda23582155faa41042651495a1020cb0e073c0ef936742
Note, on Pirateship for Pi, there is a toggle.sh
that runs on boot to make sure the right node deb is used to install node depending on wether the image is loading in an R-Pi 1 or R-Pi 2. Currently this toggles the deb for node 0.10.x but the next build is going to do this for 0.12.x.
In conclusion (without testing on R-Pi 2), the key here was setting node to 0.12.x and using the --unsafe-perm
flag when installing dat.
*In conclusion (without testing on R-Pi 2), the key here was setting node to 0.12.x (with the right deb for the corresponding R-Pi version) and using the --unsafe-perm flag when installing dat.
root@raspberrypi:~/data# echo "42" | opk-cli--dat/push
{"d":"42"}
Wrote [+1, -0].
Done importing data.
Version: b220dd162fb463fb9f782d930b0179183a1eafac42dd11455af4f674c40e0e62
with
wget https://deb.nodesource.com/node_0.12/pool/main/n/nodejs/nodejs_0.12.7-1nodesource1~wheezy1_armhf.deb
dpkg -i nodejs_0.12.7-1nodesource1~wheezy1_armhf.deb
npm install -g dat --unsafe-perm
it worked also for R-PI 2b on pirateship image what I am about to release
Good team work everyone @mafintosh @treehouse-su! Todo before closing this:
opk-cli--dat
and push it the OPK Bakery
Manually running
npm install dat-g
on Pirateship for Pi results in a fail.