ClusterODM Installation Failure

I’m reaching out here after exhausting options with the libcurl community to resolve an installation issue, watching videos that purport to solve the install issues, pursuing various stack overflow rabbit trails. If I can’t install ClusterODM, I can’t do autoscaling - at least that’s my understanding.

So, background, I’m running AWS Linux 2, I’ve installed @mapbox/node-pre-gyp, updated node, and done more radical things like doing an npm cache clean -f. All of them lead directly back to the error below.

Any ideas?

Error trace follows -

npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated node-pre-gyp@0.15.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! code 1
npm ERR! path /home/ec2-user/ClusterODM/node_modules/node-libcurl
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build
npm ERR! Failed to execute ‘/home/ec2-user/.nvm/versions/node/v17.0.1/bin/node /home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v102’ (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@1.0.6
npm ERR! node-pre-gyp info using node@17.0.1 | linux | x64
npm ERR! node-pre-gyp info check checked for “/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding/node_libcurl.node” (not found)
npm ERR! node-pre-gyp http GET https://github.com/JCMais/node-libcurl/releases/download/v2.3.3/node_libcurl-v2.3.3-node-v102-linux-x64-glibc.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/JCMais/node-libcurl/releases/download/v2.3.3/node_libcurl-v2.3.3-node-v102-linux-x64-glibc.tar.gz
npm ERR! node-pre-gyp WARN Pre-built binaries not installable for node-libcurl@2.3.3 and node@17.0.1 (node-v102 ABI, glibc) (falling back to source compile with node-gyp)
npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/JCMais/node-libcurl/releases/download/v2.3.3/node_libcurl-v2.3.3-node-v102-linux-x64-glibc.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@8.2.0
npm ERR! gyp info using node@17.0.1 | linux | x64
npm ERR! gyp info ok
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@8.2.0
npm ERR! gyp info using node@17.0.1 | linux | x64
npm ERR! gyp info find Python using Python version 3.7.10 found at “/usr/bin/python3”
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args ‘/home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py’,
npm ERR! gyp info spawn args ‘binding.gyp’,
npm ERR! gyp info spawn args ‘-f’,
npm ERR! gyp info spawn args ‘make’,
npm ERR! gyp info spawn args ‘-I’,
npm ERR! gyp info spawn args ‘/home/ec2-user/ClusterODM/node_modules/node-libcurl/build/config.gypi’,
npm ERR! gyp info spawn args ‘-I’,
npm ERR! gyp info spawn args ‘/home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi’,
npm ERR! gyp info spawn args ‘-I’,
npm ERR! gyp info spawn args ‘/home/ec2-user/.cache/node-gyp/17.0.1/include/node/common.gypi’,
npm ERR! gyp info spawn args ‘-Dlibrary=shared_library’,
npm ERR! gyp info spawn args ‘-Dvisibility=default’,
npm ERR! gyp info spawn args ‘-Dnode_root_dir=/home/ec2-user/.cache/node-gyp/17.0.1’,
npm ERR! gyp info spawn args ‘-Dnode_gyp_dir=/home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp’,
npm ERR! gyp info spawn args ‘-Dnode_lib_file=/home/ec2-user/.cache/node-gyp/17.0.1/<(target_arch)/node.lib’,
npm ERR! gyp info spawn args ‘-Dmodule_root_dir=/home/ec2-user/ClusterODM/node_modules/node-libcurl’,
npm ERR! gyp info spawn args ‘-Dnode_engine=v8’,
npm ERR! gyp info spawn args ‘–depth=.’,
npm ERR! gyp info spawn args ‘–no-parallel’,
npm ERR! gyp info spawn args ‘–generator-output’,
npm ERR! gyp info spawn args ‘build’,
npm ERR! gyp info spawn args ‘-Goutput_dir=.’
npm ERR! gyp info spawn args ]
npm ERR! Could not run curl-config, please make sure libcurl dev package is installed.
npm ERR! Output: /bin/sh: curl-config: command not found
npm ERR!
npm ERR! gyp: Call to ‘node /home/ec2-user/ClusterODM/node_modules/node-libcurl/scripts/curl-config.js --prefix’ returned exit status 1 while in binding.gyp. while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:353:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Linux 4.14.248-189.473.amzn2.x86_64
npm ERR! gyp ERR! command “/home/ec2-user/.nvm/versions/node/v17.0.1/bin/node” “/home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “configure” “–fallback-to-build” “–module=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding/node_libcurl.node” “–module_name=node_libcurl” “–module_path=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding” “–napi_version=8” “–node_abi_napi=napi” “–napi_build_version=0” “–node_napi_label=node-v102”
npm ERR! gyp ERR! cwd /home/ec2-user/ClusterODM/node_modules/node-libcurl
npm ERR! gyp ERR! node -v v17.0.1
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not ok
npm ERR! node-pre-gyp ERR! build error
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute ‘/home/ec2-user/.nvm/versions/node/v17.0.1/bin/node /home/ec2-user/.nvm/versions/node/v17.0.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/home/ec2-user/ClusterODM/node_modules/node-libcurl/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v102’ (1)
npm ERR! node-pre-gyp ERR! stack at ChildProcess. (/home/ec2-user/ClusterODM/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:390:28)
npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1062:16)
npm ERR! node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
npm ERR! node-pre-gyp ERR! System Linux 4.14.248-189.473.amzn2.x86_64
npm ERR! node-pre-gyp ERR! command “/home/ec2-user/.nvm/versions/node/v17.0.1/bin/node” “/home/ec2-user/ClusterODM/node_modules/.bin/node-pre-gyp” “install” “–fallback-to-build”
npm ERR! node-pre-gyp ERR! cwd /home/ec2-user/ClusterODM/node_modules/node-libcurl
npm ERR! node-pre-gyp ERR! node -v v17.0.1
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.6
npm ERR! node-pre-gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR! /home/ec2-user/.npm/_logs/2021-11-09T23_06_24_096Z-debug.log

1 Like

Oh… They don’t make memes about node package manager for nothing, it seems.

Does this do anything?:

npm audit fix

Wow - you broke the logjam. So that was a fruitful exercise. The dev reported that it needed v16 rather than v17. Your suggestion cleaned up the environment. That allowed me to actually get the correct version of node working using:

npm audit fix
nvm deactivate
nvm uninstall 17.1.0
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
npm install (out of the clusterodm directory)
node index.js -asr aws.json

Which yielded -
info: ClusterODM 1.5.3 started with PID 20090
info: Starting admin CLI on 8080
warn: No admin CLI password specified, make sure port 8080 is secured
info: Starting admin web interface on 10000
warn: No admin password specified, make sure port 10000 is secured
info: Cloud: LocalCloudProvider
info: Loaded 0 nodes
info: Loaded 0 routes
info: Starting http proxy on 3000

SUCCESS!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.