Comments (6)
@upkarlidder This line jumps out at me:
/home/upkarfedora/.nvm/versions/node/v13.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: line 5: /usr/local/lib/node_modules/node-gyp/bin/node-gyp.jsn: No such file or directory
The file that it's running at the time, node-gyp
, has it's latest form here:
https://github.com/npm/npm-lifecycle/blob/latest/node-gyp-bin/node-gyp
line 5 looks like
"$npm_config_node_gyp" "$@"
So it's trying to run a script defined by a variable, $npm_config_node_gyp
, which in your system is set up to point at /usr/local/lib/node_modules/node-gyp/bin/node-gyp.jsn
, which doesn't exist. I suspect some kind of typo at this point, because .jsn isn't the right file extension for a javascript file.
It would be worth checking /usr/local/lib/node_modules/node-gyp/bin and seeing if it exists and if node-gyp.js is present. If it isn't, I would recommend looking at https://github.com/nodejs/node-gyp#installation and double checking you've got everything. If it is, you can alter the variable $npm_config_node_gyp
by issuing npm config set node_gyp "node <fully_qualified_path_to_node-gyp.js>"
or export npm_config_node_gyp=node <fully_qualified_path_to_node-gyp.js
from appmetrics.
The file exists
❯ ls /usr/local/lib/node_modules/node-gyp/bin
node-gyp.js
I tried both
export npm_config_node_gyp="node /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js"
and
npm config set node_gyp "node /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js"
For some reason, it does not see the file:
/home/upkarfedora/.nvm/versions/node/v13.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: line 5: node /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js: No such file or directory
Complete error log:
❯ npm install --save appmetrics-prometheus
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: this library is no longer supported
> [email protected] install /home/upkarfedora/Documents/upkar-code/express-app/node_modules/appmetrics
> node showBuildInfo.js && node-gyp rebuild
Sat, 22 May 2021 23:43:33 GMT
********************************************************************************
You are installing the Node Application Metrics monitoring and profiling module.
Licensed under the Apache License, Version 2.0 (the "License")
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
********************************************************************************
********************************************************************************
Appmetrics uses node-gyp to compile and build local binary libraries to enhance execution performance. If the following compilation and build logs contain errors, make sure you have the node-gyp pre-requisites installed (https://github.com/nodejs/node-gyp#installation). If you have them and the build still had errors, see if there are any related issues at https://github.com/RuntimeTools/appmetrics/issues). If there aren't, feel free to open a new issue to report the bug.
********************************************************************************
/home/upkarfedora/.nvm/versions/node/v13.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: line 5: node /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js: No such file or directory
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! [email protected] install: `node showBuildInfo.js && node-gyp rebuild`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/upkarfedora/.npm/_logs/2021-05-22T23_43_34_340Z-debug.log
from appmetrics.
This issue nodejs/node-gyp#2199 suggests not having the variable set at all
npm config delete node-gyp
unset npm_config_node_gyp
from appmetrics.
Thank you @mattcolegate. I deleted it and now get a make error 🤦🏽
❯ npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.4 node/v13.14.0 linux x64"
; userconfig /home/upkarfedora/.npmrc
python = "/usr/bin/python"
; node bin location = /home/upkarfedora/.nvm/versions/node/v13.14.0/bin/node
; cwd = /home/upkarfedora/Documents/upkar-code/express-app
; HOME = /home/upkarfedora
; "npm config ls -l" to show all defaults.
Prerequisites installed:
❯ gcc --version
gcc (GCC) 11.1.1 20210428 (Red Hat 11.1.1-1)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
❯ make --version
GNU Make 4.3
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
❯ node --version
v14.17.0
❯ python --version
Python 3.9.5
New error:
/usr/bin/ld: ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/utf-8.o:(.bss+0x0): multiple definition of `Log_levels'; ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Heap.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [omr-agentcore/hcmqtt.target.mk:182: Release/obj.target/omr-agentcore/libhcmqtt.so] Error 1
make: Leaving directory '/home/upkarfedora/Documents/upkar-code/express-app/node_modules/appmetrics/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/upkarfedora/.nvm/versions/node/v14.17.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:376:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 5.11.21-300.fc34.x86_64
gyp ERR! command "/home/upkarfedora/.nvm/versions/node/v14.17.0/bin/node" "/home/upkarfedora/.nvm/versions/node/v14.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/upkarfedora/Documents/upkar-code/express-app/node_modules/appmetrics
gyp ERR! node -v v14.17.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node showBuildInfo.js && node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/upkarfedora/.npm/_logs/2021-05-23T04_10_12_591Z-debug.log
from appmetrics.
any news on this?
from appmetrics.
I know this is an old issue but I encountered something similar recently so wanted to share a potential solution.
In my case I noticed the following suspicious logs
npm ERR! /usr/bin/ld: ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Log.o:(.bss+0x20): multiple definition of `Log_levels'; ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Heap.o:(.bss+0x0): first defined here
npm ERR! /usr/bin/ld: ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Messages.o:(.bss+0x0): multiple definition of `Log_levels'; ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Heap.o:(.bss+0x0): first defined here
npm ERR! /usr/bin/ld: ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/MQTTAsync.o:(.bss+0x68): multiple definition of `Log_levels'; ./Release/obj.target/hcmqtt/omr-agentcore/org.eclipse.paho.mqtt.c/src/Heap.o:(.bss+0x0): first defined here
...
Digging into paho mqtt source I noticed that the LOG_LEVELS
enum has a definition of Log_levels
in Logs.h
which leads to multiple definitions. This condition was tolerated by the gcc compiler until more recent versions. The actual change in the compiler makes the -fno-common
the default instead of -fcommon
, which does not allow such duplicates.
The solution in my case was to revert this setting using the CFLAGS
environment variable prior to installing appmetrics.
export CFLAGS=-fcommon
This allowed me to successfully install.
Ultimately this needs to be fixed in omr-agentcore
by using a more recent build of org.eclipse.paho.mqtt.c, but until then this workaround is required for newer gcc versions.
from appmetrics.
Related Issues (20)
- Including appmetrics breaks promisified setTimeout HOT 1
- Windows automated tests broken on all node versions except 10
- Unable to install appmetrics HOT 15
- Probably stupid question, but is it supposed to run via HTTPS? HOT 17
- Build fails with GCC version 10.1.0 HOT 4
- Outdated node-gyp dependency throws error upon npm i HOT 1
- monitor HTTP HOT 2
- install appmetrics failed with node 14 HOT 5
- 5.1.1 segfaults node HOT 2
- Warnings emitted on Node 14 HOT 7
- SHA-1 Weak Authentication Algorithm vulnerability in dependency "request" HOT 6
- Error with node:14-alpine3.13 image HOT 3
- incompatible with socket.io@3 and @4 - Exception thrown "TypeError: Cannot read property 'on' of undefined" HOT 5
- Unable to install library from npm HOT 5
- Error with node:14.17.6-alpine3.14 image HOT 1
- Prototype pollution vulnerability in `[email protected]`
- Can't compile HOT 2
- is this being maintained? HOT 2
- Error omr-agentcore/libhcmqtt.so , I cannot install package on docker node bullseys-slim:18.10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appmetrics.