# Error with libopenssl when installing mediasoup in macOS

**URL:** <https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39>\
**Category:** mediasoup libraries\
**Created:** [May 30, 2019, 10:19am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39 "2019-05-30T10:19:38Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 10:19am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/1 "2019-05-30T10:19:38Z")

</div>

I keep getting this error when trying to install mediasoup. I’m using macOS btw.

Thanks,  
Philip

```auto
➜ webrtc-server git:(master) ✗ yarn add mediasoup                                      
yarn add v1.16.0
warning package.json: No license field
[1/4] 🔍 Resolving packages...
warning workspace-aggregator-d84aaee2-618b-4690-852e-347d6a89077a > webrtc-server > socketio-jwt > xtend > object-keys@0.4.0: 
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
[2/2] ⠂ mediasoup
error /Users/username/Workspace/work/webrtc/node_modules/mediasoup: Command failed.
Exit code: 2
Command: make -C worker
Arguments: 
Directory: /Users/username/Workspace/work/webrtc/node_modules/mediasoup
Output:
python ./scripts/configure.py -R mediasoup-worker
['-R', 'mediasoup-worker', '/Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/mediasoup-worker.gyp', '-I', '/Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/common.gypi', '--depth=.', '-f', 'make', '-Goutput_dir=/Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out', '--generator-output', '/Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out', '-Dgcc_version=42', '-Dclang=1', '-Dhost_arch=x64', '-Dtarget_arch=x64', '-Dopenssl_fips=', '-Dmediasoup_asan=false', '-Dnode_byteorder=little']
/Applications/Xcode.app/Contents/Developer/usr/bin/make BUILDTYPE=Release -C out
  CC(target) /Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/obj.target/libsrtp/deps/libsrtp/srtp/srtp/ekt.o
  CC(target) /Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/obj.target/libsrtp/deps/libsrtp/srtp/srtp/srtp.o
  ...
  CC(target) /Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/obj.target/openssl/deps/openssl/openssl/engines/e_capi.o
  CC(target) /Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/obj.target/openssl/deps/openssl/openssl/engines/e_padlock.o
  LIBTOOL-STATIC /Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/libopenssl.a
Traceback (most recent call last):
  File "./gyp-mac-tool", line 720, in <module>
    sys.exit(main(sys.argv[1:]))
  File "./gyp-mac-tool", line 30, in main
    exit_code = executor.Dispatch(args)
  File "./gyp-mac-tool", line 45, in Dispatch
    return getattr(self, method)(*args[1:])
  File "./gyp-mac-tool", line 274, in ExecFilterLibtool
    if not libtool_re.match(line) and not libtool_re5.match(line):
TypeError: cannot use a string pattern on a bytes-like object
make[1]: *** [/Users/username/Workspace/work/webrtc/node_modules/mediasoup/worker/out/Release/libopenssl.a] Error 1
make: *** [default] Error 2

```

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 30, 2019, 10:21am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/2 "2019-05-30T10:21:41Z")

</div>

Please, specify at least which version of mediasoup you are installing. And also type `python --version` output, OSX version, etc.

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 10:38am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/3 "2019-05-30T10:38:56Z")

</div>

macOS: 10.14.5  
mediasoup: 3.0.12  
node: 10.15.0  
python: 3.6.6 (I also have python2 with version 2.7.15)  
yarn: 1.16.0

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 30, 2019, 10:44am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/4 "2019-05-30T10:44:22Z")

</div>

It works for me with:

- macOS: 10.14.4
- mediasoup: 3.0.12
- node: 10.15.0
- python: 3.7.2
- yarn: 1.16.0

Please, try two different approaches:

### 1. Install mediasoup with Python 2

Assuming you have `python2` command:

```bash
$ PYTHON=python2 yarn add mediasoup

```

### 2. Upgrade Python 3 to 3.7.2

Or newer. AFAIS I’ve got it via Homebrew. And try again.

And since this looks a bug, please let’s continue in GitHub (I’ve reopened the corresponding issue):

> <https://github.com/versatica/mediasoup/issues/207#issuecomment-497287404>

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 11:47am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/5 "2019-05-30T11:47:43Z")

</div>

I’ve tried the following and unfortunately all of them failed:

- PYTHON=python2 yarn add mediasoup (2.7.15)
- yarn add mediasoup (upgraded to 3.7.3)
- PYTHON=/usr/local/Cellar/python@2/2.7.16/bin/python yarn add mediasoup (tried using homebrew’s python)

I also tried disabling nvm and manually installing node 10.16.0 and it’s still failing for me.

I’m not sure if it matters but I also use pyenv.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 30, 2019, 11:51am UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/6 "2019-05-30T11:51:33Z")

</div>

Definitely no idea. Can you experiment without `yarn`? I mean, clone the mediasoup repo, enter into the `worker` directory and run:

- `make`
- `PYTHON=xxxxxx make`
- etc

Also, are you sure that when you have tested `yarn add mediasoup (upgraded to 3.7.3)` you have used python 3.7.3?

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 12:29pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/7 "2019-05-30T12:29:30Z")

</div>

Okay I’ve tried what you’ve suggested and added some print statements in mac-tool.py

Does this help?

```auto
for line in err.splitlines():
    print("Line:", line, "\n")
    if not libtool_re.match(line) and not libtool_re5.match(line):
        print(line, file=sys.stderr)

```

> Line:  
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/username/Workspace/libraries/mediasoup-3/worker/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl\_utst.o has no symbols’
> 
> Final Error:  
> Traceback (most recent call last):  
> File “./gyp-mac-tool”, line 729, in   
> sys.exit(main(sys.argv[1:]))  
> File “./gyp-mac-tool”, line 30, in main  
> exit\_code = executor.Dispatch(args)  
> File “./gyp-mac-tool”, line 45, in Dispatch  
> return getattr(self, method)(\*args[1:])  
> File “./gyp-mac-tool”, line 283, in ExecFilterLibtool  
> raise e  
> File “./gyp-mac-tool”, line 279, in ExecFilterLibtool  
> if not libtool\_re.match(line) and not libtool\_re5.match(line):  
> TypeError: cannot use a string pattern on a bytes-like object  
> make[1]: \*\*\* [/Users/username/Workspace/libraries/mediasoup-3/worker/out/Release/libopenssl.a] Error 1  
> make: \*\*\* [default] Error 2

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 2:03pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/8 "2019-05-30T14:03:05Z")

</div>

Printing err.splitlines() will output the following:

> [b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl\_utst.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/t1\_trce.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/async/arch/async\_null.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/async/arch/async\_win.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/cms/cms\_cd.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/dso/dso\_dl.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/dso/dso\_openssl.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/dso/dso\_vms.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/dso/dso\_win32.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ebcdic.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ec/ecp\_nistp224.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ec/ecp\_nistp256.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ec/ecp\_nistp521.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ec/ecp\_nistputil.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/evp/e\_rc5.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/evp/m\_md2.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rand/rand\_egd.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rand/rand\_vms.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rand/rand\_win.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/threads\_none.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/threads\_win.o has no symbols’,
> 
> b’/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/…/worker/out/Release/obj.target/openssl/deps/openssl/openssl/engines/e\_padlock.o has no symbols’]

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 30, 2019, 4:24pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/9 "2019-05-30T16:24:58Z")

</div>

Modifying mac\_tool.py works!

```auto
for line in err.splitlines():
      decoded_line = line.decode("utf-8") 
      if not libtool_re.match(decoded_line) and not libtool_re5.match(decoded_line):
        print(decoded_line, file=sys.stderr)

```

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 31, 2019, 12:38pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/10 "2019-05-31T12:38:07Z")

</div>

Can you please provide the diff in the corresponding Chromium issue? I’ll come back to this issue next week.

---

<div class="post-metadata">

**Author:** ![pbfnery](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@pbfnery](https://mediasoup.discourse.group/u/pbfnery)\
**Post date:** [May 31, 2019, 5:04pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/11 "2019-05-31T17:04:43Z")

</div>

Okay I’ve just replied here  
[https://bugs.chromium.org/p/gyp/issues/detail?id=36](https://bugs.chromium.org/p/gyp/issues/detail?id=36)

Thanks by the way!

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 31, 2019, 9:01pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/12 "2019-05-31T21:01:33Z")

</div>

I’ve added that path in mediasoup v3 branch and also made a change to prefer `python2` if available:

> <https://github.com/versatica/mediasoup/commit/3d09304a639984f7d01e73a567ac10da598b5ec7?ts=2>

Can you please try with v3 branch to see if it works? Note that it would now choose `python2` by default, so in order to test python 3 just do `PYTHON=python3 make` as you know 🙂

Let’s make this question as resolved and let’s continue in the gyp issue in chromium.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [December 2, 2019, 11:10pm UTC](https://mediasoup.discourse.group/t/error-with-libopenssl-when-installing-mediasoup-in-macos/39/13 "2019-12-02T23:10:46Z")

</div>


