Keystone-classic: Kerberos causing 'npm install' to fail

Created on 17 Dec 2016  路  8Comments  路  Source: keystonejs/keystone-classic

Steps to reproduce the behavior

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

Expected behavior

A success installation when running 'npm install' is expected.

Actual behavior

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

Most helpful comment

It is a problem of kerberos, I solved it with:

rm -Rf node_modules
sudo apt-get install libkrb5-dev
npm install

All 8 comments

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't

If 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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

joernroeder picture joernroeder  路  5Comments

javierpelozo picture javierpelozo  路  5Comments

celiao picture celiao  路  4Comments

koenoe picture koenoe  路  4Comments

sarmadsangi picture sarmadsangi  路  5Comments