Bug #1879
Can't install vamp module using pip on python 3.5 (macOS + conda)
Status: | New | Start date: | 2019-04-08 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | - | |||
Target version: | - |
Description
"pip install vamp" works fine in python 2.7. But in python 3.5 (inside a conda environment on macOS) it crashes with:
pip install vamp (py35) 2821ms Mon Apr 8 15:07:25 2019
Collecting vamp
Using cached https://files.pythonhosted.org/packages/66/65/a54958777fa667ef881ceec18dd0b423b2ba2c77543060b21aff0e1dbcb6/vamp-1.1.0.tar.gz
Building wheels for collected packages: vamp
Building wheel for vamp (setup.py) ... error
Complete output from command /Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-wheel-og6_h_36 --python-tag cp35:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.6-x86_64-3.5
creating build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/collect.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/__init__.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/frames.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/process.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/load.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
running build_ext
building 'vampyhost' extension
creating build/temp.macosx-10.6-x86_64-3.5
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk
creating build/temp.macosx-10.6-x86_64-3.5/native
/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/salamon/dev/miniconda3/envs/py35/lib/python3.5/site-packages/numpy/core/include -I/Users/salamon/dev/miniconda3/envs/py35/include/python3.5m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk/Files.o
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp:37:
In file included from vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h:41:
In file included from vamp-plugin-sdk/vamp-hostsdk/Plugin.h:45:
vamp-plugin-sdk/vamp-sdk/Plugin.h:40:10: fatal error: 'string' file not found
#include <string>
^~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
----------------------------------------
Failed building wheel for vamp
Running setup.py clean for vamp
Failed to build vamp
Installing collected packages: vamp
Running setup.py install for vamp ... error
Complete output from command /Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-record-ioetr76r/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.6-x86_64-3.5
creating build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/collect.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/__init__.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/frames.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/process.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
copying vamp/load.py -> build/lib.macosx-10.6-x86_64-3.5/vamp
running build_ext
building 'vampyhost' extension
creating build/temp.macosx-10.6-x86_64-3.5
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src
creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk
creating build/temp.macosx-10.6-x86_64-3.5/native
/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/salamon/dev/miniconda3/envs/py35/lib/python3.5/site-packages/numpy/core/include -I/Users/salamon/dev/miniconda3/envs/py35/include/python3.5m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk/Files.o
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp:37:
In file included from vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h:41:
In file included from vamp-plugin-sdk/vamp-hostsdk/Plugin.h:45:
vamp-plugin-sdk/vamp-sdk/Plugin.h:40:10: fatal error: 'string' file not found
#include <string>
^~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
----------------------------------------
Command "/Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-record-ioetr76r/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/
History
#1 Updated by Justin Salamon over 5 years ago
pip install vamp
works fine in python 2.7, but in python 3.5 (inside a conda environment on macOS) it crashes with:
> pip install vamp (py35) 2821ms Mon Apr 8 15:07:25 2019 Collecting vamp Using cached https://files.pythonhosted.org/packages/66/65/a54958777fa667ef881ceec18dd0b423b2ba2c77543060b21aff0e1dbcb6/vamp-1.1.0.tar.gz Building wheels for collected packages: vamp Building wheel for vamp (setup.py) ... error Complete output from command /Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-wheel-og6_h_36 --python-tag cp35: running bdist_wheel running build running build_py creating build creating build/lib.macosx-10.6-x86_64-3.5 creating build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/collect.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/__init__.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/frames.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/process.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/load.py -> build/lib.macosx-10.6-x86_64-3.5/vamp running build_ext building 'vampyhost' extension creating build/temp.macosx-10.6-x86_64-3.5 creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk creating build/temp.macosx-10.6-x86_64-3.5/native /usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/salamon/dev/miniconda3/envs/py35/lib/python3.5/site-packages/numpy/core/include -I/Users/salamon/dev/miniconda3/envs/py35/include/python3.5m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk/Files.o warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] In file included from vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp:37: In file included from vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h:41: In file included from vamp-plugin-sdk/vamp-hostsdk/Plugin.h:45: vamp-plugin-sdk/vamp-sdk/Plugin.h:40:10: fatal error: 'string' file not found #include <string> ^~~~~~~~ 1 warning and 1 error generated. error: command '/usr/bin/clang' failed with exit status 1 ---------------------------------------- Failed building wheel for vamp Running setup.py clean for vamp Failed to build vamp Installing collected packages: vamp Running setup.py install for vamp ... error Complete output from command /Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-record-ioetr76r/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.macosx-10.6-x86_64-3.5 creating build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/collect.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/__init__.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/frames.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/process.py -> build/lib.macosx-10.6-x86_64-3.5/vamp copying vamp/load.py -> build/lib.macosx-10.6-x86_64-3.5/vamp running build_ext building 'vampyhost' extension creating build/temp.macosx-10.6-x86_64-3.5 creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src creating build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk creating build/temp.macosx-10.6-x86_64-3.5/native /usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -I/Users/salamon/dev/miniconda3/envs/py35/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/salamon/dev/miniconda3/envs/py35/lib/python3.5/site-packages/numpy/core/include -I/Users/salamon/dev/miniconda3/envs/py35/include/python3.5m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.6-x86_64-3.5/vamp-plugin-sdk/src/vamp-hostsdk/Files.o warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] In file included from vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp:37: In file included from vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h:41: In file included from vamp-plugin-sdk/vamp-hostsdk/Plugin.h:45: vamp-plugin-sdk/vamp-sdk/Plugin.h:40:10: fatal error: 'string' file not found #include <string> ^~~~~~~~ 1 warning and 1 error generated. error: command '/usr/bin/clang' failed with exit status 1 ---------------------------------------- Command "/Users/salamon/dev/miniconda3/envs/py35/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-record-ioetr76r/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/j4/2cgkdym179b76zljmlm1d6yc0000gn/T/pip-install-7pzyi14k/vamp/
#2 Updated by Chris Cannam over 5 years ago
Thanks for the report. It is a puzzle though, as I can neither understand nor reproduce it.
I can see that the problem appears to have to do with the compiler failing to pick up a C++ standard library include path, but I'm lost as to why this should suddenly be a problem now - the build mechanism here hasn't changed since the v1.1.0 release of the Vamp package, and the default standard library on the Mac has been libc++ for a long time now.
I notice that the log makes reference to macosx-10.6 - is that what you are actually using?? (which would be rather amazing) or is it generating a backward-compatible build by some means?
When I run setup.py here, either directly or via pip install --no-binary :all: vamp
, it is the actual local version of macOS that I see reported, not a compatibility version - and the build succeeds. This is with Python 3.7 from Homebrew.
If you can give steps to reproduce this, that would be very helpful. Especially if that could be done from a baseline of a current Mac with just the system Python installed, i.e. including directions about exactly what Python you are using and how to get it.