I’m trying to install ucoin on a cubietruck (card-sized computer like Raspberry Pi) running arkOS, a linux distro based on arch linux.
However, I when I try to install ucoin on this computer I run into a little problem:
[root@arkos ~]# npm install -g ucoin
> naclb@0.0.1 install /usr/lib/node_modules/ucoin/node_modules/naclb
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/ucoin/node_modules/naclb/.node-gyp"
make: Entering directory '/usr/lib/node_modules/ucoin/node_modules/naclb/build'
CXX(target) Release/obj.target/nacl/nacl.o
CXX(target) Release/obj.target/nacl/tweetnacl.o
../tweetnacl.cpp: In function ‘int vn(const u8*, const u8*, int)’:
../tweetnacl.cpp:61:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
FOR(i, n) d |= x[i] ^ y[i];
^
../tweetnacl.cpp:4:33: note: in definition of macro ‘FOR’
#define FOR(i,n) for (i = 0;i < n;++i)
^
../tweetnacl.cpp: In function ‘int crypto_sign(u8*, u64*, const u8*, u64, const u8*)’:
../tweetnacl.cpp:840:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
FOR(i, n) {
^
../tweetnacl.cpp:4:33: note: in definition of macro ‘FOR’
#define FOR(i,n) for (i = 0;i < n;++i)
^
../tweetnacl.cpp: In function ‘int crypto_sign_open(u8*, u64*, const u8*, u64, const u8*)’:
../tweetnacl.cpp:921:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
FOR(i, n) {
^
../tweetnacl.cpp:4:33: note: in definition of macro ‘FOR’
#define FOR(i,n) for (i = 0;i < n;++i)
^
../tweetnacl.cpp:935:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
FOR(i, n) {
^
../tweetnacl.cpp:4:33: note: in definition of macro ‘FOR’
#define FOR(i,n) for (i = 0;i < n;++i)
^
../tweetnacl.cpp:940:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
FOR(i, n) {
^
../tweetnacl.cpp:4:33: note: in definition of macro ‘FOR’
#define FOR(i,n) for (i = 0;i < n;++i)
^
CXX(target) Release/obj.target/nacl/randombytes.o
SOLINK_MODULE(target) Release/obj.target/nacl.node
SOLINK_MODULE(target) Release/obj.target/nacl.node: Finished
COPY Release/nacl.node
make: Leaving directory '/usr/lib/node_modules/ucoin/node_modules/naclb/build'
> netroute@0.2.5 install /usr/lib/node_modules/ucoin/node_modules/nat-upnp/node_modules/netroute
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/ucoin/node_modules/nat-upnp/node_modules/netroute/.node-gyp"
make: Entering directory '/usr/lib/node_modules/ucoin/node_modules/nat-upnp/node_modules/netroute/build'
CXX(target) Release/obj.target/netroute/src/netroute.o
CXX(target) Release/obj.target/netroute/src/platform-linux.o
SOLINK_MODULE(target) Release/obj.target/netroute.node
SOLINK_MODULE(target) Release/obj.target/netroute.node: Finished
COPY Release/netroute.node
make: Leaving directory '/usr/lib/node_modules/ucoin/node_modules/nat-upnp/node_modules/netroute/build'
> usage@0.6.0 install /usr/lib/node_modules/ucoin/node_modules/usage
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/ucoin/node_modules/usage/.node-gyp"
make: Entering directory '/usr/lib/node_modules/ucoin/node_modules/usage/build'
CXX(target) Release/obj.target/sysinfo/src/binding.o
SOLINK_MODULE(target) Release/obj.target/sysinfo.node
SOLINK_MODULE(target) Release/obj.target/sysinfo.node: Finished
COPY Release/sysinfo.node
make: Leaving directory '/usr/lib/node_modules/ucoin/node_modules/usage/build'
> ws@0.5.0 install /usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/engine.io/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
COPY Release/bufferutil.node
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
COPY Release/validation.node
make: Leaving directory '/usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build'
> scrypt@3.0.1 install /usr/lib/node_modules/ucoin/node_modules/scrypt
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/ucoin/node_modules/scrypt/.node-gyp"
make: Entering directory '/usr/lib/node_modules/ucoin/node_modules/scrypt/build'
CC(target) Release/obj.target/scrypt_wrapper/src/util/salt.o
CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o
CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o
AR(target) Release/obj.target/scrypt_wrapper.a
COPY Release/scrypt_wrapper.a
CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.1.6/lib/crypto/sha256.o
CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.1.6/lib/crypto/crypto_scrypt-sse.o
../scrypt/scrypt-1.1.6/lib/crypto/crypto_scrypt-sse.c:34:23: fatal error: emmintrin.h: No such file or directory
#include <emmintrin.h>
^
compilation terminated.
scrypt_lib.target.mk:95: recipe for target 'Release/obj.target/scrypt_lib/scrypt/scrypt-1.1.6/lib/crypto/crypto_scrypt-sse.o' failed
make: *** [Release/obj.target/scrypt_lib/scrypt/scrypt-1.1.6/lib/crypto/crypto_scrypt-sse.o] Error 1
make: Leaving directory '/usr/lib/node_modules/ucoin/node_modules/scrypt/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:809:12)
gyp ERR! System Linux 3.4.90-4-ARCH
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/ucoin/node_modules/scrypt
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
> vucoin@0.23.8 postinstall /usr/lib/node_modules/ucoin/node_modules/vucoin
> ./postinstall.sh
> ws@0.4.31 install /usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
\
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/.node-gyp/0.10.29/deps/cares/src'
npm ERR! error rolling back ucoin@0.11.2 { [Error: ENOTEMPTY, rmdir '/usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/.node-gyp/0.10.29/deps/cares/src']
npm ERR! error rolling back errno: 53,
npm ERR! error rolling back code: 'ENOTEMPTY',
npm ERR! error rolling back path: '/usr/lib/node_modules/ucoin/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/.node-gyp/0.10.29/deps/cares/src' }
npm ERR! scrypt@3.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@3.0.1 install script.
npm ERR! This is most likely a problem with the scrypt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls scrypt
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.4.90-4-ARCH
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "ucoin"
npm ERR! cwd /root
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /root/npm-debug.log
npm ERR! not ok code 0
To which I believe the relevant error is:
fatal error: emmintrin.h: No such file or directory
#include <emmintrin.h>
Now I do have a file that very much looks like it located at:
/usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/include/mmintrin.h
I think this issue below is related to my issue:
Anyway, if anyone knows what problem this is, please reply.