Open not-a-doctor-stromberg opened 2 years ago
That sounds like you have libolm installed but not the development headers which are required to build the Python bindings.
Have same problem here, what do you mean by header development ? I search in homebrew repo libolm-dev and from what I understood it's integrated on libolm main formulae that I have already install.
MacOS 12.3 beta 2, python 3.10.2
Same problem on Linux with python 3.10. Development headers are installed as well.
On M1 try this before pip3 install
export LIBRARY_PATH=/opt/homebrew/lib
export CPATH=/opt/homebrew/include
export PATH=/opt/homebrew/bin:$PATH
Even after running the export statements above, I still get an error during installation. Anything I am doing wrong here?
brew list libolm
/usr/local/Cellar/libolm/3.2.12/include/olm/ (7 files)
/usr/local/Cellar/libolm/3.2.12/lib/libolm.3.2.12.dylib
/usr/local/Cellar/libolm/3.2.12/lib/cmake/ (4 files)
/usr/local/Cellar/libolm/3.2.12/lib/ (2 other files)
weechat-matrix on ξ master is π¦ v0.3.0 via π v3.10.6 took 9s
β― pip3 install --user -r requirements.txt
zsh: /Library/Frameworks/Python.framework/Versions/3.10/bin/pip3: bad interpreter: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10: no such file or directory
Ignoring typing: markers 'python_version < "3.5"' don't match your environment
Ignoring future: markers 'python_version < "3.2"' don't match your environment
Requirement already satisfied: pyOpenSSL in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 1)) (22.0.0)
Requirement already satisfied: webcolors in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 3)) (1.11.1)
Requirement already satisfied: atomicwrites in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 5)) (1.4.0)
Requirement already satisfied: attrs in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 6)) (21.4.0)
Requirement already satisfied: logbook in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 7)) (1.5.3)
Requirement already satisfied: pygments in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 8)) (2.12.0)
Collecting matrix-nio[e2e]>=0.18.7
Using cached matrix_nio-0.19.0-py3-none-any.whl (174 kB)
Collecting aiohttp
Downloading aiohttp-3.8.3-cp310-cp310-macosx_10_9_x86_64.whl (358 kB)
ββββββββββββββββββββββββββββββββββββββββ 358.3/358.3 kB 2.6 MB/s eta 0:00:00
Requirement already satisfied: python-magic in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 11)) (0.4.25)
Requirement already satisfied: requests in /usr/local/lib/python3.10/site-packages (from -r requirements.txt (line 12)) (2.27.1)
Requirement already satisfied: cryptography>=35.0 in /usr/local/lib/python3.10/site-packages (from pyOpenSSL->-r requirements.txt (line 1)) (37.0.2)
Requirement already satisfied: aiofiles<0.7.0,>=0.6.0 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (0.6.0)
Collecting aiohttp-socks<0.8.0,>=0.7.0
Using cached aiohttp_socks-0.7.1-py3-none-any.whl (9.3 kB)
Requirement already satisfied: jsonschema<4.0.0,>=3.2.0 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (3.2.0)
Requirement already satisfied: pycryptodome<4.0.0,>=3.10.1 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (3.14.1)
Requirement already satisfied: unpaddedbase64<3.0.0,>=2.1.0 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (2.1.0)
Requirement already satisfied: h2<5.0.0,>=4.0.0 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (4.1.0)
Requirement already satisfied: future<0.19.0,>=0.18.2 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (0.18.2)
Requirement already satisfied: h11<0.13.0,>=0.12.0 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (0.12.0)
Requirement already satisfied: cachetools<5.0.0,>=4.2.1 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (4.2.4)
Collecting python-olm<4.0.0,>=3.1.3
Using cached python-olm-3.1.3.tar.gz (27 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: peewee<4.0.0,>=3.14.4 in /usr/local/lib/python3.10/site-packages (from matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (3.14.10)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (1.3.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (6.0.2)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (2.0.12)
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (1.2.0)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (4.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/site-packages (from aiohttp->-r requirements.txt (line 10)) (1.7.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/site-packages (from requests->-r requirements.txt (line 12)) (1.26.9)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/site-packages (from requests->-r requirements.txt (line 12)) (3.3)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/site-packages (from requests->-r requirements.txt (line 12)) (2021.10.8)
Requirement already satisfied: python-socks[asyncio]<3.0.0,>=2.0.0 in /usr/local/lib/python3.10/site-packages (from aiohttp-socks<0.8.0,>=0.7.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (2.0.3)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.10/site-packages (from cryptography>=35.0->pyOpenSSL->-r requirements.txt (line 1)) (1.15.0)
Requirement already satisfied: hpack<5,>=4.0 in /usr/local/lib/python3.10/site-packages (from h2<5.0.0,>=4.0.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (4.0.0)
Requirement already satisfied: hyperframe<7,>=6.0 in /usr/local/lib/python3.10/site-packages (from h2<5.0.0,>=4.0.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (6.0.1)
Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.10/site-packages (from jsonschema<4.0.0,>=3.2.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (0.18.1)
Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.10/site-packages (from jsonschema<4.0.0,>=3.2.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (1.16.0)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/site-packages (from jsonschema<4.0.0,>=3.2.0->matrix-nio[e2e]>=0.18.7->-r requirements.txt (line 9)) (63.4.3)
Requirement already satisfied: pycparser in /usr/local/lib/python3.10/site-packages (from cffi>=1.12->cryptography>=35.0->pyOpenSSL->-r requirements.txt (line 1)) (2.21)
Building wheels for collected packages: python-olm
Building wheel for python-olm (setup.py) ... error
error: subprocess-exited-with-error
Γ python setup.py bdist_wheel did not run successfully.
β exit code: 1
β°β> [29 lines of output]
make: *** No rule to make target `../include/olm/olm.h', needed by `include/olm/olm.h'. Stop.
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-12-x86_64-cpython-310
creating build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/sas.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/_finalize.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/utility.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/session.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/__version__.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/group_session.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/pk.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/_compat.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/account.py -> build/lib.macosx-12-x86_64-cpython-310/olm
running build_ext
generating cffi module 'build/temp.macosx-12-x86_64-cpython-310/_libolm.c'
creating build/temp.macosx-12-x86_64-cpython-310
building '_libolm' extension
creating build/temp.macosx-12-x86_64-cpython-310/build
creating build/temp.macosx-12-x86_64-cpython-310/build/temp.macosx-12-x86_64-cpython-310
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -I/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c build/temp.macosx-12-x86_64-cpython-310/_libolm.c -o build/temp.macosx-12-x86_64-cpython-310/build/temp.macosx-12-x86_64-cpython-310/_libolm.o -I../include
build/temp.macosx-12-x86_64-cpython-310/_libolm.c:570:18: fatal error: 'olm/olm.h' file not found
#include <olm/olm.h>
^~~~~~~~~~~
1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for python-olm
Running setup.py clean for python-olm
Failed to build python-olm
Installing collected packages: python-olm, aiohttp, aiohttp-socks, matrix-nio
Running setup.py install for python-olm ... error
error: subprocess-exited-with-error
Γ Running setup.py install for python-olm did not run successfully.
β exit code: 1
β°β> [31 lines of output]
make: *** No rule to make target `../include/olm/olm.h', needed by `include/olm/olm.h'. Stop.
running install
/usr/local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.macosx-12-x86_64-cpython-310
creating build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/sas.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/_finalize.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/utility.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/session.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/__version__.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/group_session.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/pk.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/_compat.py -> build/lib.macosx-12-x86_64-cpython-310/olm
copying olm/account.py -> build/lib.macosx-12-x86_64-cpython-310/olm
running build_ext
generating cffi module 'build/temp.macosx-12-x86_64-cpython-310/_libolm.c'
creating build/temp.macosx-12-x86_64-cpython-310
building '_libolm' extension
creating build/temp.macosx-12-x86_64-cpython-310/build
creating build/temp.macosx-12-x86_64-cpython-310/build/temp.macosx-12-x86_64-cpython-310
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -I/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c build/temp.macosx-12-x86_64-cpython-310/_libolm.c -o build/temp.macosx-12-x86_64-cpython-310/build/temp.macosx-12-x86_64-cpython-310/_libolm.o -I../include
build/temp.macosx-12-x86_64-cpython-310/_libolm.c:570:18: fatal error: 'olm/olm.h' file not found
#include <olm/olm.h>
^~~~~~~~~~~
1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
Γ Encountered error while trying to install package.
β°β> python-olm
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
For Homebrew on Linux users who have stuff installed to your home directory, setting these variables did end up making the installation work:
export LIBRARY_PATH=~/.linuxbrew/lib
export CPATH=~/.linuxbrew/include
export PATH=~/.linuxbrew/bin:$PATH
I'm also using a virtualenv
in the recommended location, but I have to activate it prior to running Weechat. This installs just fine. However, when I went to load the script with /script load matrix.py
, I got a very long error starting with:
ImportError: cannot import name '_pycparser' from 'cffi'
...which also triggered another syntax error in the exception handler.
Sorry for the screenshot, I'm running Weechat over SSH and Tmux and can't copy/paste from within that session. I assume all of this is just because I don't have the libs in the hard-coded place that python_olm
or whatever is looking for.
On M1 try this before pip3 install
export LIBRARY_PATH=/opt/homebrew/lib export CPATH=/opt/homebrew/include export PATH=/opt/homebrew/bin:$PATH
For Intel Macs the paths are:
export LIBRARY_PATH=/usr/local/lib
export CPATH=/usr/local/include
export PATH=/usr/local/bin:$PATH
Not sure if dumb, but:
I'm on macOS 11.6, python 3.10.2.
Any help appreciated! Thanks for all the work on this project :)