StateSpaceModels/ssm

Installation error : .ssm/lib/ unauthorised

Closed this issue · 1 comments

Hello,
I get the following message while installing ssm (npm install -g ssm) on Ubuntu 12.04 :

mkdir: impossible de créer le répertoire «/root»: Permission non accordée
cp: accès à «/root/.ssm/lib/»: Permission non accordée
mkdir: impossible de créer le répertoire «/root»: Permission non accordée
cp: accès à «/root/.ssm/include/»: Permission non accordée
make: *** [install] Erreur 1
npm ERR! ssm@0.5.3 install: (cd src/C && make && make install && make clean)
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the ssm@0.5.3 install script.
npm ERR! This is most likely a problem with the ssm package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! (cd src/C && make && make install && make clean)
npm ERR! You can get their info via:
npm ERR! npm owner ls ssm
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.2.0-56-generic-pae
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "ssm"
npm ERR! cwd /home/taubier/Téléchargements/zeromq-4.0.3
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/taubier/Téléchargements/zeromq-4.0.3/npm-debug.log
npm ERR! not ok code 0

Thanks for reporting.
the install script tries to compile and install some C code using this Makefile.
In particular it tries to install everything in ~/.ssm to avoid permission issues. The relevant section of the Makefile is:

PREFIX=$(HOME)/.ssm
install:
    test -d $(PREFIX)/lib || mkdir -p $(PREFIX)/lib; cp $(LIB) $(PREFIX)/lib/; \
    test -d $(PREFIX)/include || mkdir -p $(PREFIX)/include; cp $(INCLUDES) $(PREFIX)/include/

In your case $(HOME) is resolved to root hence the permission issue

mkdir: impossible de créer le répertoire «/root»: Permission non accordée
cp: accès à «/root/.ssm/lib/»: Permission non accordée
mkdir: impossible de créer le répertoire «/root»: Permission non accordée
cp: accès à «/root/.ssm/include/»: Permission non accordée

So if you run that so that $(HOME) is not root everything should be ok.