I have been working my way thru the book "Programming the BBB Getting started with Javascript and BoneScript using my BBB REV A5C board
When I try and install the Node library’s i2c and serialport it fails and I see what might be a key statement in the terminal dump. I see the same error
message in both the i2c and serialport attempts to install.
ImportError: No module named compiler.ast
The procedure I am using is as follows for the serialport library same method for i2c with npm install -g i2c
sh-4.2# date
Thu Aug 7 22:48:56 UTC 2014
sh-4.2# npm update
sh-4.2# npm config set strict-ssl false
sh-4.2# npm install -g serialport
I am using the latest image of Angstrom from BB.org and it fails the same if I boot from an SDcard or Flash version.
I wonder if the latest image has passed by the A5C board??
I also have a BBB REV C board and the procedure worked fine for i2c and I can use the Adafruit 7Seg display with the node library.
Here is the terminal capture from trying to install serialport
sh-4.2# npm install -g serialport
npm http GET https://registry.npmjs.org/serialport
npm http 200 https://registry.npmjs.org/serialport
npm http GET https://registry.npmjs.org/serialport/-/serialport-1.4.5.tgz
npm http 200 https://registry.npmjs.org/serialport/-/serialport-1.4.5.tgz
npm http GET https://registry.npmjs.org/bindings/1.2.1
npm http GET https://registry.npmjs.org/async/0.9.0
npm http GET https://registry.npmjs.org/sf/0.1.7
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/nan
npm http GET https://registry.npmjs.org/nan/-/nan-1.3.0.tgz
npm http 200 https://registry.npmjs.org/async/0.9.0
npm http 200 https://registry.npmjs.org/bindings/1.2.1
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.9.0.tgz
npm http 200 https://registry.npmjs.org/sf/0.1.7
npm http GET https://registry.npmjs.org/sf/-/sf-0.1.7.tgz
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.9.0.tgz
npm http 200 https://registry.npmjs.org/nan/-/nan-1.3.0.tgz
npm http 200 https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz
npm http 200 https://registry.npmjs.org/sf/-/sf-0.1.7.tgz
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/minimist
npm http 200 https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/minimist
npm http GET https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz
/usr/bin/serialportlist → /usr/lib/node_modules/serialport/bin/serialportList.js
/usr/bin/serialportterm → /usr/lib/node_modules/serialport/bin/serialportTerminal.js
serialport@1.4.5 install /usr/lib/node_modules/serialport
node-pre-gyp install --fallback-to-build
node-pre-gyp http GET https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz
node-pre-gyp http 404 https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz
node-pre-gyp http Pre-built binary not available for your system (falling back to source compile with node-gyp)
Traceback (most recent call last):
File “/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp”, line 15, in
import gyp
File “/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py”, line 8, in
import gyp.input
File “/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py”, line 5, in
from compiler.ast import Const
ImportError: No module named compiler.ast <<<------ THE ERROR MESSAGE I AM REFERING TO
gyp ERR! configure error
gyp ERR! stack Error: gyp
failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:416:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Linux 3.8.13
gyp ERR! command “/usr/bin/node” “/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “rebuild” “–name=serialport” “–configuration=Release” “–module_name=serialport” “–version=1.4.5” “–major=1” “–minor=4” “–patch=5” “–runtime=node” “–node_abi=v8-3.11” “–platform=linux” “–target_platform=linux” “–arch=arm” “–target_arch=arm” “–module_main=./serialport” “–host=https://node-serialport.s3.amazonaws.com/” “–module_path=/usr/lib/node_modules/serialport/build/serialport/v1.4.5/Release/v8-3.11-linux-arm” “–remote_path=./serialport/v1.4.5/Release/” “–package_name=v8-3.11-linux-arm.tar.gz” “–staged_tarball=build/stage/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz” “–hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/” “–hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz”
gyp ERR! cwd /usr/lib/node_modules/serialport
gyp ERR! node -v v0.8.22
gyp ERR! node-gyp -v v0.8.5
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute ‘/usr/bin/node rebuild --name=serialport --configuration=Release --module_name=serialport --version=1.4.5 --major=1 --minor=4 --patch=5 --runtime=node --node_abi=v8-3.11 --platform=linux --target_platform=linux --arch=arm --target_arch=arm --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=/usr/lib/node_modules/serialport/build/serialport/v1.4.5/Release/v8-3.11-linux-arm --remote_path=./serialport/v1.4.5/Release/ --package_name=v8-3.11-linux-arm.tar.gz --staged_tarball=build/stage/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz’ (1)
node-pre-gyp ERR! stack at ChildProcess.module.exports.run_gyp (/usr/lib/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:76:29)
node-pre-gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
node-pre-gyp ERR! stack at maybeClose (child_process.js:638:16)
node-pre-gyp ERR! stack at Process._handle.onexit (child_process.js:680:5)
node-pre-gyp ERR! System Linux 3.8.13
node-pre-gyp ERR! command “node” “/usr/lib/node_modules/serialport/node_modules/.bin/node-pre-gyp” “install” “–fallback-to-build”
node-pre-gyp ERR! cwd /usr/lib/node_modules/serialport
node-pre-gyp ERR! node -v v0.8.22
node-pre-gyp ERR! node-pre-gyp -v v0.5.19
node-pre-gyp ERR! not ok
Failed to execute ‘/usr/bin/node rebuild --name=serialport --configuration=Release --module_name=serialport --version=1.4.5 --major=1 --minor=4 --patch=5 --runtime=node --node_abi=v8-3.11 --platform=linux --target_platform=linux --arch=arm --target_arch=arm --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=/usr/lib/node_modules/serialport/build/serialport/v1.4.5/Release/v8-3.11-linux-arm --remote_path=./serialport/v1.4.5/Release/ --package_name=v8-3.11-linux-arm.tar.gz --staged_tarball=build/stage/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v1.4.5/Release/v8-3.11-linux-arm.tar.gz’ (1)
npm ERR! serialport@1.4.5 install: node-pre-gyp install --fallback-to-build
npm ERR! sh "-c" "node-pre-gyp install --fallback-to-build"
failed with 1
npm ERR!
npm ERR! Failed at the serialport@1.4.5 install script.
npm ERR! This is most likely a problem with the serialport 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 serialport
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.8.13
npm ERR! command “/usr/bin/node” “/usr/bin/npm” “install” “-g” “serialport”
npm ERR! cwd /home/root
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/root/npm-debug.log
npm ERR! not ok code 0
sh-4.2#
npm-debug.log is very long so I will only paste in the end of it
3579 info install npmlog@0.0.6
3580 info postinstall npmlog@0.0.6
3581 info install node-pre-gyp@0.5.19
3582 info postinstall node-pre-gyp@0.5.19
3583 info install serialport@1.4.5
3584 verbose unsafe-perm in lifecycle false
3585 verbose set uid from=0 to=nobody
3586 silly exec sh “-c” “node-pre-gyp install --fallback-to-build”
3587 silly sh,-c,node-pre-gyp install --fallback-to-build,/usr/lib/node_modules/serialport spawning
3588 info serialport@1.4.5 Failed to exec install script
3589 info /usr/lib/node_modules/serialport unbuild
3590 verbose from cache /usr/lib/node_modules/serialport/package.json
3591 info preuninstall serialport@1.4.5
3592 info uninstall serialport@1.4.5
3593 verbose true,/usr/lib/node_modules,/usr/lib/node_modules unbuild serialport@1.4.5
3594 verbose /usr/bin,[object Object] binRoot
3595 info postuninstall serialport@1.4.5
3596 error serialport@1.4.5 install: node-pre-gyp install --fallback-to-build
3596 error sh "-c" "node-pre-gyp install --fallback-to-build"
failed with 1
3597 error Failed at the serialport@1.4.5 install script.
3597 error This is most likely a problem with the serialport package,
3597 error not with npm itself.
3597 error Tell the author that this fails on your system:
3597 error node-pre-gyp install --fallback-to-build
3597 error You can get their info via:
3597 error npm owner ls serialport
3597 error There is likely additional logging output above.
3598 error System Linux 3.8.13
3599 error command “/usr/bin/node” “/usr/bin/npm” “install” “-g” “serialport”
3600 error cwd /home/root
3601 error node -v v0.8.22
3602 error npm -v 1.2.14
3603 error code ELIFECYCLE
3604 verbose exit [ 1, true ]
Thank’s for any thoughts I am not a Linux expert.
The book is using the Angstrom distribution but maybe at a later revision the A5C and it works for Simon Monk
Tom