Bug #1879

Can't install vamp module using pip on python 3.5 (macOS + conda)

Added by Justin Salamon 6 months ago. Updated 6 months ago.

Status:NewStart date:2019-04-08
Priority:NormalDue 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 &lt;string&gt;
^~~~~~
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 6 months 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 6 months 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.

Also available in: Atom PDF