Tried update an existing, working installation of KeystoneJS with the latest commit (d75d2d8501f89a684ca9d05550e686eacb3f1426) as of 12/17/16 on a Ubuntu 16.04.1 system running node v4.2.6 and npm 3.5.2
A success installation when running 'npm install' is expected.
Here is the terminal log:
trout@wellfuture:~/keystone4/node_modules/keystone$ npm install
npm WARN deprecated [email protected]: Please use 2.2.16 or higher due to a regression in updateOne/Many upsertedId return value
> [email protected] install /home/trout/keystone4/node_modules/keystone/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)
make: Entering directory '/home/trout/keystone4/node_modules/keystone/node_modules/kerberos/build'
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
In file included from ../lib/kerberos.cc:1:0:
../lib/kerberos.h:5:27: fatal error: gssapi/gssapi.h: No such file or directory
compilation terminated.
kerberos.target.mk:94: recipe for target 'Release/obj.target/kerberos/lib/kerberos.o' failed
make: *** [Release/obj.target/kerberos/lib/kerberos.o] Error 1
make: Leaving directory '/home/trout/keystone4/node_modules/keystone/node_modules/kerberos/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:269:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.4.0-36-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/trout/keystone4/node_modules/keystone/node_modules/kerberos
gyp ERR! node -v v4.2.6
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
It is a problem of kerberos, I solved it with:
rm -Rf node_modules
sudo apt-get install libkrb5-dev
npm install
I can confirm that those instructions seemed to fix the problem.
Does this need to be implemented into the package.json file somehow?
Hi @christroutner, thanks for reporting this. If it's an issue of system dependencies, there's no real way to build it into the package.json in an unobtrusive way.
Given the comment at https://github.com/christkv/kerberos/issues/21#issuecomment-196707072 this is an upstream issue we have no way of controlling. I'm going to close this with that in mind.
Hi. It's not working for me, how to deal with it on Alpine with Docker? Is any fixes? @bassjacob
@VadimShvetsov https://github.com/christkv/kerberos/issues/21#issuecomment-236183686 might be what you're after
@bassjacob Thanks a lot, now it's ok. I leave the comment there with complete command for Alpine, but anyway it's not so convenient to install package with each deployment (though using Docker). Are there some changes with this dependency in future?
unfortunately not that I'm aware of. it's an issue with the operating system, not with this library.
@bassjacob well, you're right, i've tried to change node version and can wrap it now:
node.7.4.0-alpine image as base can go without kerberos dev package.node.7.8.0-alpine can'tIf you need to use higher node version than 7.4 (haven't tested 7.5-7.7 with it) you can add kerberos dev package with command:
RUN apk add --no-cache --update krb5-dev.
Most helpful comment
It is a problem of kerberos, I solved it with: