Open JasonPunyon opened 10 years ago
OK, it looks like this really has to do with npm@1.3.15. I downgraded to 1.3.14 and everything worked.
The problem is specifically an upgrade from node-gyp v0.11.0
to v0.12.0
(see versions diff).
The important part of the @JasonPunyon's output is:
Traceback (most recent call last):
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in
sys.exit(gyp.script_main())
AttributeError: 'module' object has no attribute 'script_main'
I'm not familiar enough with node-gyp, or python, to know exactly what the problem is or how to fix it, but it seems to stem from script_main
being added to the code and whatever it is supposed to represent doesn't appear to be present in the geoip module. Let us know if it is possible to update geoip to work with the latest node-gyp, or if an issue needs to be created on that repository.
@bretcope
What exactly is script_main
? It's a new key in package.json
?
No, I don't think so. It's supposed to be a function called from here. I found a definition here, and here are the search results inside the project. Whatever is supposed to happen for gyp.script_main
to become a function isn't happening.
I don't know enough about the build process to know what that would be or to really ask the right questions, I was just trying to make your life a little easier by doing some initial debugging.
In my Ubuntu 13.10 I also get an error when installing GeoIP. The error seems to be different but it also says that the installation fails in node-gyp rebuild
. Here is the output:
npm info it worked if it ends with ok
npm verb cli [ '/usr/bin/node',
npm verb cli '/usr/bin/npm',
npm verb cli 'install',
npm verb cli 'geoip',
npm verb cli '--verbose' ]
npm info using npm@1.3.21
npm info using node@v0.10.24
npm verb node symlink /usr/bin/node
npm verb cache add [ 'geoip', null ]
npm verb cache add name=undefined spec="geoip" args=["geoip",null]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: 'geoip',
npm verb parsed url path: 'geoip',
npm verb parsed url href: 'geoip' }
npm verb lock geoip /home/jumc/.npm/bf279f7b-geoip.lock
npm verb addNamed [ 'geoip', '' ]
npm verb addNamed [ null, '*' ]
npm verb lock geoip@ /home/jumc/.npm/5bd2b521-geoip.lock
npm verb url raw geoip
npm verb url resolving [ 'https://registry.npmjs.org/', './geoip' ]
npm verb url resolved https://registry.npmjs.org/geoip
npm info trying registry request attempt 1 at 10:41:17
npm verb etag "CL662SB9F43POWNW6PMFT6KKJ"
npm http GET https://registry.npmjs.org/geoip
npm http 304 https://registry.npmjs.org/geoip
npm verb etag geoip from cache
npm verb addNamed [ 'geoip', '0.5.0' ]
npm verb addNamed [ '0.5.0', '0.5.0' ]
npm verb lock geoip@0.5.0 /home/jumc/.npm/4e78d280-geoip-0-5-0.lock
npm info install geoip@0.5.0 into /home/jumc
npm info installOne geoip@0.5.0
npm info /home/jumc/node_modules/geoip unbuild
npm verb tar unpack /home/jumc/.npm/geoip/0.5.0/package.tgz
npm verb lock tar:///home/jumc/node_modules/geoip /home/jumc/.npm/d8698af0-tar-home-jumc-node-modules-geoip.lock
npm verb lock tar:///home/jumc/.npm/geoip/0.5.0/package.tgz /home/jumc/.npm/47313fe0-jumc-npm-geoip-0-5-0-package-tgz.lock
npm info preinstall geoip@0.5.0
npm verb readDependencies using package.json deps
npm verb readDependencies using package.json deps
npm verb cache add [ 'nan@~0.7.0', null ]
npm verb cache add name=undefined spec="nan@~0.7.0" args=["nan@~0.7.0",null]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: 'nan@~0.7.0',
npm verb parsed url path: 'nan@~0.7.0',
npm verb parsed url href: 'nan@~0.7.0' }
npm verb cache add name="nan" spec="~0.7.0" args=["nan","~0.7.0"]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: '~0.7.0',
npm verb parsed url path: '~0.7.0',
npm verb parsed url href: '~0.7.0' }
npm verb addNamed [ 'nan', '~0.7.0' ]
npm verb addNamed [ null, '>=0.7.0-0 <0.8.0-0' ]
npm verb lock nan@~0.7.0 /home/jumc/.npm/9df25a33-nan-0-7-0.lock
npm verb cache add [ 'bindings@~1.1.1', null ]
npm verb cache add name=undefined spec="bindings@~1.1.1" args=["bindings@~1.1.1",null]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: 'bindings@~1.1.1',
npm verb parsed url path: 'bindings@~1.1.1',
npm verb parsed url href: 'bindings@~1.1.1' }
npm verb cache add name="bindings" spec="~1.1.1" args=["bindings","~1.1.1"]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: '~1.1.1',
npm verb parsed url path: '~1.1.1',
npm verb parsed url href: '~1.1.1' }
npm verb addNamed [ 'bindings', '~1.1.1' ]
npm verb addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
npm verb lock bindings@~1.1.1 /home/jumc/.npm/cc1512d6-bindings-1-1-1.lock
npm verb cache add [ 'debug@~0.7.4', null ]
npm verb cache add name=undefined spec="debug@~0.7.4" args=["debug@~0.7.4",null]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: 'debug@~0.7.4',
npm verb parsed url path: 'debug@~0.7.4',
npm verb parsed url href: 'debug@~0.7.4' }
npm verb cache add name="debug" spec="~0.7.4" args=["debug","~0.7.4"]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: '~0.7.4',
npm verb parsed url path: '~0.7.4',
npm verb parsed url href: '~0.7.4' }
npm verb addNamed [ 'debug', '~0.7.4' ]
npm verb addNamed [ null, '>=0.7.4-0 <0.8.0-0' ]
npm verb lock debug@~0.7.4 /home/jumc/.npm/cf1a6986-debug-0-7-4.lock
npm verb url raw bindings
npm verb url resolving [ 'https://registry.npmjs.org/', './bindings' ]
npm verb url resolved https://registry.npmjs.org/bindings
npm info trying registry request attempt 1 at 10:41:20
npm verb etag "CDC5OYEHXAYRPWD8Q6ONR82IW"
npm http GET https://registry.npmjs.org/bindings
npm verb url raw nan
npm verb url resolving [ 'https://registry.npmjs.org/', './nan' ]
npm verb url resolved https://registry.npmjs.org/nan
npm info trying registry request attempt 1 at 10:41:20
npm verb etag "EVE9FQOY8QOVPL39YRIEVNB6R"
npm http GET https://registry.npmjs.org/nan
npm verb url raw debug
npm verb url resolving [ 'https://registry.npmjs.org/', './debug' ]
npm verb url resolved https://registry.npmjs.org/debug
npm info trying registry request attempt 1 at 10:41:20
npm verb etag "D3KJHAZTCKQ35NYLNYQDEN7JN"
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/nan
npm verb etag nan from cache
npm http 304 https://registry.npmjs.org/debug
npm verb etag debug from cache
npm verb addNamed [ 'nan', '0.7.0' ]
npm verb addNamed [ '0.7.0', '0.7.0' ]
npm verb lock nan@0.7.0 /home/jumc/.npm/ff7f655c-nan-0-7-0.lock
npm verb addNamed [ 'debug', '0.7.4' ]
npm verb addNamed [ '0.7.4', '0.7.4' ]
npm verb lock debug@0.7.4 /home/jumc/.npm/16160008-debug-0-7-4.lock
npm http 304 https://registry.npmjs.org/bindings
npm verb etag bindings from cache
npm verb addNamed [ 'bindings', '1.1.1' ]
npm verb addNamed [ '1.1.1', '1.1.1' ]
npm verb lock bindings@1.1.1 /home/jumc/.npm/52dd60a7-bindings-1-1-1.lock
npm info install nan@0.7.0 into /home/jumc/node_modules/geoip
npm info install debug@0.7.4 into /home/jumc/node_modules/geoip
npm info install bindings@1.1.1 into /home/jumc/node_modules/geoip
npm info installOne nan@0.7.0
npm info installOne debug@0.7.4
npm info installOne bindings@1.1.1
npm info /home/jumc/node_modules/geoip/node_modules/nan unbuild
npm info /home/jumc/node_modules/geoip/node_modules/debug unbuild
npm info /home/jumc/node_modules/geoip/node_modules/bindings unbuild
npm verb tar unpack /home/jumc/.npm/nan/0.7.0/package.tgz
npm verb lock tar:///home/jumc/node_modules/geoip/node_modules/nan /home/jumc/.npm/dae34f0c-e-modules-geoip-node-modules-nan.lock
npm verb lock tar:///home/jumc/.npm/nan/0.7.0/package.tgz /home/jumc/.npm/b973c29c-e-jumc-npm-nan-0-7-0-package-tgz.lock
npm verb tar unpack /home/jumc/.npm/debug/0.7.4/package.tgz
npm verb lock tar:///home/jumc/node_modules/geoip/node_modules/debug /home/jumc/.npm/6fd4ed6d-modules-geoip-node-modules-debug.lock
npm verb lock tar:///home/jumc/.npm/debug/0.7.4/package.tgz /home/jumc/.npm/7f9d5883-jumc-npm-debug-0-7-4-package-tgz.lock
npm verb tar unpack /home/jumc/.npm/bindings/1.1.1/package.tgz
npm verb lock tar:///home/jumc/node_modules/geoip/node_modules/bindings /home/jumc/.npm/ace07896-ules-geoip-node-modules-bindings.lock
npm verb lock tar:///home/jumc/.npm/bindings/1.1.1/package.tgz /home/jumc/.npm/b92c3f8f-c-npm-bindings-1-1-1-package-tgz.lock
npm info preinstall bindings@1.1.1
npm verb readDependencies using package.json deps
npm verb readDependencies using package.json deps
npm verb about to build /home/jumc/node_modules/geoip/node_modules/bindings
npm info build /home/jumc/node_modules/geoip/node_modules/bindings
npm verb linkStuff [ false,
npm verb linkStuff false,
npm verb linkStuff false,
npm verb linkStuff '/home/jumc/node_modules/geoip/node_modules' ]
npm info linkStuff bindings@1.1.1
npm verb linkBins bindings@1.1.1
npm verb linkMans bindings@1.1.1
npm verb rebuildBundles bindings@1.1.1
npm info install bindings@1.1.1
npm info postinstall bindings@1.1.1
npm info preinstall debug@0.7.4
npm verb readDependencies using package.json deps
npm verb readDependencies using package.json deps
npm verb about to build /home/jumc/node_modules/geoip/node_modules/debug
npm info build /home/jumc/node_modules/geoip/node_modules/debug
npm verb linkStuff [ false,
npm verb linkStuff false,
npm verb linkStuff false,
npm verb linkStuff '/home/jumc/node_modules/geoip/node_modules' ]
npm info linkStuff debug@0.7.4
npm verb linkBins debug@0.7.4
npm verb linkMans debug@0.7.4
npm verb rebuildBundles debug@0.7.4
npm info install debug@0.7.4
npm info postinstall debug@0.7.4
npm info preinstall nan@0.7.0
npm verb readDependencies using package.json deps
npm verb readDependencies using package.json deps
npm verb about to build /home/jumc/node_modules/geoip/node_modules/nan
npm info build /home/jumc/node_modules/geoip/node_modules/nan
npm verb linkStuff [ false,
npm verb linkStuff false,
npm verb linkStuff false,
npm verb linkStuff '/home/jumc/node_modules/geoip/node_modules' ]
npm info linkStuff nan@0.7.0
npm verb linkBins nan@0.7.0
npm verb linkMans nan@0.7.0
npm verb rebuildBundles nan@0.7.0
npm info install nan@0.7.0
npm info postinstall nan@0.7.0
npm verb about to build /home/jumc/node_modules/geoip
npm info build /home/jumc/node_modules/geoip
npm verb linkStuff [ false, false, false, '/home/jumc/node_modules' ]
npm info linkStuff geoip@0.5.0
npm verb linkBins geoip@0.5.0
npm verb linkMans geoip@0.5.0
npm verb rebuildBundles geoip@0.5.0
npm verb rebuildBundles [ 'bindings', 'debug', 'nan' ]
npm info install geoip@0.5.0
> geoip@0.5.0 install /home/jumc/node_modules/geoip
> node-gyp rebuild
gyp info it worked if it ends with ok
gyp verb cli [ 'node',
gyp verb cli '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild' ]
gyp info using node-gyp@0.12.1
gyp info using node@0.10.24 | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `python -c "import platform; print(platform.python_version());"` returned: "2.7.5+\n"
gyp verb get node dir no --target version specified, falling back to host node version: v0.10.24
gyp verb command install [ 'v0.10.24' ]
gyp verb install input version string "v0.10.24"
gyp verb install installing version: 0.10.24
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 0.10.24
gyp verb build dir attempting to create "build" dir: /home/jumc/node_modules/geoip/build
gyp verb build dir "build" dir needed to be created? /home/jumc/node_modules/geoip/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /home/jumc/node_modules/geoip/build/config.gypi
gyp verb config.gypi checking for gypi file: /home/jumc/node_modules/geoip/config.gypi
gyp verb common.gypi checking for gypi file: /home/jumc/node_modules/geoip/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn python
gyp info spawn args [ '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/jumc/node_modules/geoip/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/jumc/.node-gyp/0.10.24/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/jumc/.node-gyp/0.10.24',
gyp info spawn args '-Dmodule_root_dir=/home/jumc/node_modules/geoip',
gyp info spawn args '--depth=.',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /home/jumc/.node-gyp/0.10.24
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory `/home/jumc/node_modules/geoip/build'
cc '-DPACKAGE_NAME="GeoIP"' '-DPACKAGE_TARNAME="GeoIP"' '-DPACKAGE_VERSION="1.5.2"' '-DPACKAGE_STRING="GeoIP 1.5.2"' '-DPACKAGE_BUGREPORT="support@maxmind.com"' '-DPACKAGE_URL=""' '-DSTDC_HEADERS=1' '-DHAVE_SYS_TYPES_H=1' '-DHAVE_SYS_STAT_H=1' '-DHAVE_STDLIB_H=1' '-DHAVE_STRING_H=1' '-DHAVE_MEMORY_H=1' '-DHAVE_STRINGS_H=1' '-DHAVE_INTTYPES_H=1' '-DHAVE_STDINT_H=1' '-DHAVE_UNISTD_H=1' '-D__EXTENSIONS__=1' '-D_ALL_SOURCE=1' '-D_GNU_SOURCE=1' '-D_POSIX_PTHREAD_SEMANTICS=1' '-D_TANDEM_SOURCE=1' '-DPACKAGE="GeoIP"' '-DVERSION="1.5.2"' '-DHAVE_DLFCN_H=1' '-DLT_OBJDIR=".libs/"' '-DHAVE_USHORT_TYPEDEF=1' '-DLITTLE_ENDIAN_HOST=1' '-DHAVE_STDINT_H=1' '-DHAVE_ZLIB_H=1' '-DHAVE_GETOPT=1' '-DHAVE_GETTIMEOFDAY=1' '-DHAVE_PREAD=1' '-DHAVE_VASPRINTF=1' '-DHAVE_VSNPRINTF=1' '-DHAVE_VSPRINTF=1' '-DHAVE_GETHOSTBYNAME=1' '-DHAVE_MEMSET=1' '-DHAVE_SOCKET=1' '-DHAVE_STRCHR=1' '-DHAVE_STRDUP=1' '-DHAVE_STRSTR=1' '-DHAVE_STDLIB_H=1' '-DHAVE_MALLOC=1' '-DHAVE_STDLIB_H=1' '-DHAVE_REALLOC=1' '-DGEOIPDATADIR="/tmp/"' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNDEBUG' -I../deps/geoip-api-c-1.5.2/libGeoIP -I../deps/geoip-api-c-1.5.2/libGeoIP/.deps -I/home/jumc/.node-gyp/0.10.24/src -I/home/jumc/.node-gyp/0.10.24/deps/uv/include -I/home/jumc/.node-gyp/0.10.24/deps/v8/include -fPIC -Wall -Wextra -Wno-unused-parameter -pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -fno-omit-frame-pointer -MMD -MF ./Release/.deps/Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.o.d.raw -c -o Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.o ../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c: In function ‘_get_name_gl’:
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c:1691:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (seek_org == gi->databaseSegments[0])
^
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c: In function ‘_get_name_v6_gl’:
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c:1743:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (seek_org == gi->databaseSegments[0])
^
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c: In function ‘GeoIP_range_by_ip_gl’:
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c:1821:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
&& target_value == _GeoIP_seek_record_gl(gi, left_seek - 1, &t) ) {
^
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIP.c:1830:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
&& target_value == _GeoIP_seek_record_gl(gi, right_seek + 1, &t) ) {
^
cc '-DPACKAGE_NAME="GeoIP"' '-DPACKAGE_TARNAME="GeoIP"' '-DPACKAGE_VERSION="1.5.2"' '-DPACKAGE_STRING="GeoIP 1.5.2"' '-DPACKAGE_BUGREPORT="support@maxmind.com"' '-DPACKAGE_URL=""' '-DSTDC_HEADERS=1' '-DHAVE_SYS_TYPES_H=1' '-DHAVE_SYS_STAT_H=1' '-DHAVE_STDLIB_H=1' '-DHAVE_STRING_H=1' '-DHAVE_MEMORY_H=1' '-DHAVE_STRINGS_H=1' '-DHAVE_INTTYPES_H=1' '-DHAVE_STDINT_H=1' '-DHAVE_UNISTD_H=1' '-D__EXTENSIONS__=1' '-D_ALL_SOURCE=1' '-D_GNU_SOURCE=1' '-D_POSIX_PTHREAD_SEMANTICS=1' '-D_TANDEM_SOURCE=1' '-DPACKAGE="GeoIP"' '-DVERSION="1.5.2"' '-DHAVE_DLFCN_H=1' '-DLT_OBJDIR=".libs/"' '-DHAVE_USHORT_TYPEDEF=1' '-DLITTLE_ENDIAN_HOST=1' '-DHAVE_STDINT_H=1' '-DHAVE_ZLIB_H=1' '-DHAVE_GETOPT=1' '-DHAVE_GETTIMEOFDAY=1' '-DHAVE_PREAD=1' '-DHAVE_VASPRINTF=1' '-DHAVE_VSNPRINTF=1' '-DHAVE_VSPRINTF=1' '-DHAVE_GETHOSTBYNAME=1' '-DHAVE_MEMSET=1' '-DHAVE_SOCKET=1' '-DHAVE_STRCHR=1' '-DHAVE_STRDUP=1' '-DHAVE_STRSTR=1' '-DHAVE_STDLIB_H=1' '-DHAVE_MALLOC=1' '-DHAVE_STDLIB_H=1' '-DHAVE_REALLOC=1' '-DGEOIPDATADIR="/tmp/"' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNDEBUG' -I../deps/geoip-api-c-1.5.2/libGeoIP -I../deps/geoip-api-c-1.5.2/libGeoIP/.deps -I/home/jumc/.node-gyp/0.10.24/src -I/home/jumc/.node-gyp/0.10.24/deps/uv/include -I/home/jumc/.node-gyp/0.10.24/deps/v8/include -fPIC -Wall -Wextra -Wno-unused-parameter -pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -fno-omit-frame-pointer -MMD -MF ./Release/.deps/Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIPCity.o.d.raw -c -o Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIPCity.o ../deps/geoip-api-c-1.5.2/libGeoIP/GeoIPCity.c
cc '-DPACKAGE_NAME="GeoIP"' '-DPACKAGE_TARNAME="GeoIP"' '-DPACKAGE_VERSION="1.5.2"' '-DPACKAGE_STRING="GeoIP 1.5.2"' '-DPACKAGE_BUGREPORT="support@maxmind.com"' '-DPACKAGE_URL=""' '-DSTDC_HEADERS=1' '-DHAVE_SYS_TYPES_H=1' '-DHAVE_SYS_STAT_H=1' '-DHAVE_STDLIB_H=1' '-DHAVE_STRING_H=1' '-DHAVE_MEMORY_H=1' '-DHAVE_STRINGS_H=1' '-DHAVE_INTTYPES_H=1' '-DHAVE_STDINT_H=1' '-DHAVE_UNISTD_H=1' '-D__EXTENSIONS__=1' '-D_ALL_SOURCE=1' '-D_GNU_SOURCE=1' '-D_POSIX_PTHREAD_SEMANTICS=1' '-D_TANDEM_SOURCE=1' '-DPACKAGE="GeoIP"' '-DVERSION="1.5.2"' '-DHAVE_DLFCN_H=1' '-DLT_OBJDIR=".libs/"' '-DHAVE_USHORT_TYPEDEF=1' '-DLITTLE_ENDIAN_HOST=1' '-DHAVE_STDINT_H=1' '-DHAVE_ZLIB_H=1' '-DHAVE_GETOPT=1' '-DHAVE_GETTIMEOFDAY=1' '-DHAVE_PREAD=1' '-DHAVE_VASPRINTF=1' '-DHAVE_VSNPRINTF=1' '-DHAVE_VSPRINTF=1' '-DHAVE_GETHOSTBYNAME=1' '-DHAVE_MEMSET=1' '-DHAVE_SOCKET=1' '-DHAVE_STRCHR=1' '-DHAVE_STRDUP=1' '-DHAVE_STRSTR=1' '-DHAVE_STDLIB_H=1' '-DHAVE_MALLOC=1' '-DHAVE_STDLIB_H=1' '-DHAVE_REALLOC=1' '-DGEOIPDATADIR="/tmp/"' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNDEBUG' -I../deps/geoip-api-c-1.5.2/libGeoIP -I../deps/geoip-api-c-1.5.2/libGeoIP/.deps -I/home/jumc/.node-gyp/0.10.24/src -I/home/jumc/.node-gyp/0.10.24/deps/uv/include -I/home/jumc/.node-gyp/0.10.24/deps/v8/include -fPIC -Wall -Wextra -Wno-unused-parameter -pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -fno-omit-frame-pointer -MMD -MF ./Release/.deps/Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIPUpdate.o.d.raw -c -o Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIPUpdate.o ../deps/geoip-api-c-1.5.2/libGeoIP/GeoIPUpdate.c
../deps/geoip-api-c-1.5.2/libGeoIP/GeoIPUpdate.c:40:18: fatal error: zlib.h: No such file or directory
#include <zlib.h>
^
compilation terminated.
make: *** [Release/obj.target/libgeoip/deps/geoip-api-c-1.5.2/libGeoIP/GeoIPUpdate.o] Error 1
make: Leaving directory `/home/jumc/node_modules/geoip/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.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Linux 3.11.0-14-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jumc/node_modules/geoip
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm verb unsafe-perm in lifecycle true
npm info geoip@0.5.0 Failed to exec install script
npm info /home/jumc/node_modules/geoip unbuild
npm info preuninstall geoip@0.5.0
npm info uninstall geoip@0.5.0
npm verb true,/home/jumc/node_modules,/home/jumc/node_modules unbuild geoip@0.5.0
npm info postuninstall geoip@0.5.0
npm ERR! geoip@0.5.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the geoip@0.5.0 install script.
npm ERR! This is most likely a problem with the geoip 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 geoip
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.11.0-14-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "geoip" "--verbose"
npm ERR! cwd /home/jumc
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
npm verb exit [ 1, true ]
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/jumc/npm-debug.log
npm ERR! not ok code 0
@jumc
It seems you are missing zlib, can you tru sudo apt-get install zlib1g-dev
?
yes, thanks @kuno ! I did not see that fatal error. Everything looks good now.
On a fresh new Ubuntu 13.10 VM and running `sudo npm install geoip -g --verbose' gives me the following:
Halp?