error during npm install

npm ERR! code 1
npm ERR! path /home/shy/mediasoup/node_modules/mediasoup
npm ERR! command failed
npm ERR! command sh -c node npm-scripts.js postinstall
npm ERR! npm-scripts.js [INFO] running task "postinstall"
npm ERR! npm-scripts.js [INFO] buildWorker()
npm ERR! npm-scripts.js [INFO] executeCmd(): make -C worker
npm ERR! make: Entering directory '/home/shy/mediasoup/node_modules/mediasoup/worker'
npm ERR! # Updated pip and setuptools are needed for meson.
npm ERR! # `--system` is not present everywhere and is only needed as workaround for
npm ERR! # Debian-specific issue (copied from https://github.com/gluster/gstatus/pull/33),
npm ERR! # fallback to command without `--system` if the first one fails.
npm ERR! /usr/bin/python3 -m pip install --system --target=/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip pip setuptools || \
npm ERR!        /usr/bin/python3 -m pip install --target=/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip pip setuptools || \
npm ERR!        echo "Installation failed, likely because PIP is unavailable, if you are on Debian/Ubuntu or derivative please install the python3-pip package"
npm ERR! Collecting pip
npm ERR!   Using cached pip-23.0.1-py3-none-any.whl (2.1 MB)
npm ERR! Collecting setuptools
npm ERR!   Using cached setuptools-67.6.0-py3-none-any.whl (1.1 MB)
npm ERR! Installing collected packages: setuptools, pip
npm ERR! Successfully installed pip-23.0.1 setuptools-67.6.0
npm ERR! # Install `meson` and `ninja` using `pip` into custom location, so we don't
npm ERR! # depend on system-wide installation.
npm ERR! /usr/bin/python3 -m pip install --upgrade --target=/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip  meson==0.61.5 ninja==1.10.2.4
npm ERR! Collecting meson==0.61.5
npm ERR!   Using cached meson-0.61.5-py3-none-any.whl (862 kB)
npm ERR! Collecting ninja==1.10.2.4
npm ERR!   Using cached ninja-1.10.2.4-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (120 kB)
npm ERR! Installing collected packages: ninja, meson
npm ERR! Successfully installed meson-0.61.5 ninja-1.10.2.4
npm ERR! /home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/bin/meson setup \
npm ERR!        --prefix /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release \
npm ERR!        --bindir '' \
npm ERR!        --libdir '' \
npm ERR!        --buildtype release \
npm ERR!        -Db_ndebug=true \
npm ERR!        -Db_pie=true \
npm ERR!        -Db_staticpic=true \
npm ERR!        --reconfigure \
npm ERR!        "" \
npm ERR!        /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release/build || \
npm ERR!        /home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/bin/meson setup \
npm ERR!                --prefix /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release \
npm ERR!                --bindir '' \
npm ERR!                --libdir '' \
npm ERR!                --buildtype release \
npm ERR!                -Db_ndebug=true \
npm ERR!                -Db_pie=true \
npm ERR!                -Db_staticpic=true \
npm ERR!                "" \
npm ERR!                /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release/build
npm ERR! The Meson build system
npm ERR! Version: 0.61.5
npm ERR! Source dir: /home/shy/mediasoup/node_modules/mediasoup/worker
npm ERR! Build dir: /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release/build
npm ERR! Build type: native build
npm ERR! Project name: mediasoup-worker
npm ERR! Project version: undefined
npm ERR! C compiler for the host machine: cc (gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
npm ERR! C linker for the host machine: cc ld.bfd 2.38
npm ERR! C++ compiler for the host machine: c++ (gcc 11.3.0 "c++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
npm ERR! C++ linker for the host machine: c++ ld.bfd 2.38
npm ERR! Host machine cpu family: x86_64
npm ERR! Host machine cpu: x86_64
npm ERR! Downloading openssl source from https://www.openssl.org/source/openssl-3.0.7.tar.gz
npm ERR! Download size: 15107575
npm ERR! Downloading: ..........
npm ERR! Downloading openssl patch from https://wrapdb.mesonbuild.com/v2/openssl_3.0.7-1/get_patch
npm ERR! Download size: 11462134
npm ERR! Downloading: ..........
npm ERR! 
npm ERR! Executing subproject openssl 
npm ERR! 
npm ERR! openssl| Project name: openssl
npm ERR! openssl| Project version: 3.0.7
npm ERR! openssl| C compiler for the host machine: cc (gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
npm ERR! openssl| C linker for the host machine: cc ld.bfd 2.38
npm ERR! openssl| Run-time dependency threads found: YES
npm ERR! openssl| Program as found: YES (/usr/bin/as)
npm ERR! openssl| Message: OpenSSL is configured with ASM support
npm ERR! openssl| Library dl found: YES
npm ERR! openssl| Build targets in project: 3
npm ERR! openssl| Subproject openssl finished.
npm ERR! 
npm ERR! Downloading nlohmann_json source from https://github.com/nlohmann/json/releases/download/v3.10.5/include.zip
npm ERR! Download size: 260679
npm ERR! Downloading: ..........
npm ERR! 
npm ERR! Executing subproject nlohmann_json 
npm ERR! 
npm ERR! nlohmann_json| Project name: nlohmann_json
npm ERR! nlohmann_json| Project version: 3.10.5
npm ERR! nlohmann_json| C++ compiler for the host machine: c++ (gcc 11.3.0 "c++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
npm ERR! nlohmann_json| C++ linker for the host machine: c++ ld.bfd 2.38
npm ERR! nlohmann_json| Build targets in project: 3
npm ERR! nlohmann_json| Subproject nlohmann_json finished.
npm ERR! 
npm ERR! Downloading libuv source from https://dist.libuv.org/dist/v1.44.2/libuv-v1.44.2.tar.gz
npm ERR! Download size: 1301690
npm ERR! Downloading: ..........
npm ERR! Downloading libuv patch from https://wrapdb.mesonbuild.com/v2/libuv_1.44.2-1/get_patch
npm ERR! 
npm ERR! meson.build:177:0: ERROR: Unhandled python exception
npm ERR! 
npm ERR!     This is a Meson bug and should be reported!
npm ERR! make: Leaving directory '/home/shy/mediasoup/node_modules/mediasoup/worker'
npm ERR! Usage:   
npm ERR!   /usr/bin/python3 -m pip install [options] <requirement specifier> [package-index-options] ...
npm ERR!   /usr/bin/python3 -m pip install [options] -r <requirements file> [package-index-options] ...
npm ERR!   /usr/bin/python3 -m pip install [options] [-e] <vcs project url> ...
npm ERR!   /usr/bin/python3 -m pip install [options] [-e] <local project path> ...
npm ERR!   /usr/bin/python3 -m pip install [options] <archive url/path> ...
npm ERR! 
npm ERR! no such option: --system
npm ERR! Directory does not contain a valid build tree:
npm ERR! /home/shy/mediasoup/node_modules/mediasoup/worker/out/Release/build
npm ERR! Traceback (most recent call last):
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/mesonmain.py", line 148, in run
npm ERR!     return options.run_func(options)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/msetup.py", line 294, in run
npm ERR!     app.generate()
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/msetup.py", line 185, in generate
npm ERR!     self._generate(env)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/msetup.py", line 229, in _generate
npm ERR!     intr.run()
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreter/interpreter.py", line 2554, in run
npm ERR!     super().run()
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 148, in run
npm ERR!     self.evaluate_codeblock(self.ast, start=1)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 173, in evaluate_codeblock
npm ERR!     raise e
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 166, in evaluate_codeblock
npm ERR!     self.evaluate_statement(cur)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 181, in evaluate_statement
npm ERR!     self.assignment(cur)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 566, in assignment
npm ERR!     value = self.evaluate_statement(node.value)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 179, in evaluate_statement
npm ERR!     return self.function_call(cur)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/interpreterbase.py", line 454, in function_call
npm ERR!     res = func(node, func_args, kwargs)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/decorators.py", line 768, in wrapped
npm ERR!     return f(*wrapped_args, **wrapped_kwargs)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/decorators.py", line 115, in wrapped
npm ERR!     return f(*wrapped_args, **wrapped_kwargs)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreterbase/decorators.py", line 276, in wrapper
npm ERR!     return f(*nargs, **wrapped_kwargs)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreter/interpreter.py", line 800, in func_subproject
npm ERR!     return self.do_subproject(args[0], 'meson', kwargs)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/interpreter/interpreter.py", line 841, in do_subproject
npm ERR!     subdir = r.resolve(subp_name, method)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 345, in resolve
npm ERR!     self.apply_patch()
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 576, in apply_patch
npm ERR!     path = self.get_file_internal('patch')
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 560, in get_file_internal
npm ERR!     self.download(what, cache_path)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 535, in download
npm ERR!     dhash, tmpfile = self.get_data(srcurl)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 480, in get_data
npm ERR!     resp = open_wrapdburl(urlstring)
npm ERR!   File "/home/shy/mediasoup/node_modules/mediasoup/worker/out/pip/mesonbuild/wrap/wrap.py", line 72, in open_wrapdburl
npm ERR!     return T.cast('http.client.HTTPResponse', urllib.request.urlopen(urllib.parse.urlunparse(url), timeout=REQ_TIMEOUT))
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
npm ERR!     return opener.open(url, data, timeout)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 525, in open
npm ERR!     response = meth(req, response)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
npm ERR!     response = self.parent.error(
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 557, in error
npm ERR!     result = self._call_chain(*args)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
npm ERR!     result = func(*args)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 749, in http_error_302
npm ERR!     return self.parent.open(new, timeout=req.timeout)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 519, in open
npm ERR!     response = self._open(req, data)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 536, in _open
npm ERR!     result = self._call_chain(self.handle_open, protocol, protocol +
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
npm ERR!     result = func(*args)
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 1391, in https_open
npm ERR!     return self.do_open(http.client.HTTPSConnection, req,
npm ERR!   File "/usr/lib/python3.10/urllib/request.py", line 1352, in do_open
npm ERR!     r = h.getresponse()
npm ERR!   File "/usr/lib/python3.10/http/client.py", line 1374, in getresponse
npm ERR!     response.begin()
npm ERR!   File "/usr/lib/python3.10/http/client.py", line 318, in begin
npm ERR!     version, status, reason = self._read_status()
npm ERR!   File "/usr/lib/python3.10/http/client.py", line 287, in _read_status
npm ERR!     raise RemoteDisconnected("Remote end closed connection without"
npm ERR! http.client.RemoteDisconnected: Remote end closed connection without response
npm ERR! make: *** [Makefile:110: setup] Error 2
npm ERR! npm-scripts.js [ERROR] executeCmd() failed, exiting: Error: Command failed: make -C worker

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/shy/.npm/_logs/2023-03-28T10_07_18_818Z-debug.log
  • gcc --version
    gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  • g++ – version
    g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  • cc – version
    cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  • make -v
    GNU Make 4.3
  • node -v
    v16.0.0
  • python3 -v
    Python 3.10.6

Replaced different systems, including Centos7, Centos9, ubuntu14, and ubuntu22.
There are also different versions of the running environment, and the results are all the same. I don’t know which link went wrong.

Python exceptions are being thrown, make sure it’s installed properly and then delete any left over mediasoup modules and re-install.

For uBuntu; this is what I run prerequisites

sudo apt update -y
sudo apt upgrade -y

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

sudo apt install nodejs -y
sudo apt-get install build-essential -y
sudo apt install python3-pip -y
sudo apt update -y
sudo npm install pm2@latest -g
sudo npm install -g npm@latest

Doesn’t anyone read the logs? “Remote end closed connection without response”. This means that the builder sent a request for a file containing some required dependency sources (namely, https://wrapdb.mesonbuild.com/v2/libuv_1.44.2-1/get_patch in this case), and didn’t receive any response from the server. Maybe that server was overloaded or down at the moment and could not handle the request, maybe a giant squid pulled the trans-ocean cable. Who knows.

echo “Installation failed, likely because PIP is unavailable, if you are on Debian/Ubuntu or derivative please install the python3-pip package”

or

npm ERR! meson.build:177:0: ERROR: Unhandled python exception

Not what the error is saying at all, do read it again. The above steps should solve the problem most linux distributions run into (steps may differ).

Yes, I saw it, but I can download it normally by opening this address in my browser

echo "..." is a shell command, not a logged error message.

Well, maybe meson will be able to download it too next time. :grinning:

I won’t argue, the issue deals with fresh install of Linux distributions that don’t have out-of-box support for MediaSoup anymore as soup has been updated and requirements change.

Make sure the network firewall ingress/egress is not blocking requests for sake of install but be sure you have updated/installed what’s required. Post is above.

That’s understood.


A follow up be nice, by OP. As many run into this issue and it either is Python out of date, build essentials or node version. My setups has never failed people currently and will update as it changes for the distros…


If I’m wrong in this case, this still may help other cases