vamp-plugins / vampy-host

Python module to load and use native Vamp plugins for audio feature analysis.
https://pypi.python.org/pypi/vamp
Other
26 stars 6 forks source link

pip install vamp fails on Python 3, macOS Mojave 10.14.2 #3

Open pseeth opened 5 years ago

pseeth commented 5 years ago

Hi, trying to do pip install vamp breaks for me on macOS Mojave 10.14.2.

Here's what I get when I run it:

Collecting vamp
  Using cached https://files.pythonhosted.org/packages/66/65/a54958777fa667ef881ceec18dd0b423b2ba2c77543060b21aff0e1dbcb6/vamp-1.1.0.tar.gz
Building wheels for collected packages: vamp
  Running setup.py bdist_wheel for vamp: started
  Running setup.py bdist_wheel for vamp: finished with status 'error'
  Complete output from command /Users/prem/miniconda3/envs/nussl/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/5h/6vxlzhys259350xz4nb3xbym0000gn/T/pip-install-sei_bxvv/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/5h/6vxlzhys259350xz4nb3xbym0000gn/T/pip-wheel-mroot89i --python-tag cp37:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.7
  creating build/lib.macosx-10.7-x86_64-3.7/vamp
  copying vamp/collect.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
  copying vamp/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
  copying vamp/frames.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
  copying vamp/process.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
  copying vamp/load.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
  running build_ext
  building 'vampyhost' extension
  creating build/temp.macosx-10.7-x86_64-3.7
  creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk
  creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src
  creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src/vamp-hostsdk
  creating build/temp.macosx-10.7-x86_64-3.7/native
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/prem/miniconda3/envs/nussl/include -arch x86_64 -I/Users/prem/miniconda3/envs/nussl/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/prem/miniconda3/envs/nussl/lib/python3.7/site-packages/numpy/core/include -I/Users/prem/miniconda3/envs/nussl/include/python3.7m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src/vamp-hostsdk/Files.o
  warning: include path for stdlibc++ headers not found; pass '-std=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 'gcc' failed with exit status 1

  ----------------------------------------
  Running setup.py clean for vamp
Failed to build vamp
Installing collected packages: vamp
  Running setup.py install for vamp: started
    Running setup.py install for vamp: finished with status 'error'
    Complete output from command /Users/prem/miniconda3/envs/nussl/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/5h/6vxlzhys259350xz4nb3xbym0000gn/T/pip-install-sei_bxvv/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/5h/6vxlzhys259350xz4nb3xbym0000gn/T/pip-record-1wrut6v5/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.7-x86_64-3.7
    creating build/lib.macosx-10.7-x86_64-3.7/vamp
    copying vamp/collect.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
    copying vamp/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
    copying vamp/frames.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
    copying vamp/process.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
    copying vamp/load.py -> build/lib.macosx-10.7-x86_64-3.7/vamp
    running build_ext
    building 'vampyhost' extension
    creating build/temp.macosx-10.7-x86_64-3.7
    creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk
    creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src
    creating build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src/vamp-hostsdk
    creating build/temp.macosx-10.7-x86_64-3.7/native
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/prem/miniconda3/envs/nussl/include -arch x86_64 -I/Users/prem/miniconda3/envs/nussl/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/Users/prem/miniconda3/envs/nussl/lib/python3.7/site-packages/numpy/core/include -I/Users/prem/miniconda3/envs/nussl/include/python3.7m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.7-x86_64-3.7/vamp-plugin-sdk/src/vamp-hostsdk/Files.o
    warning: include path for stdlibc++ headers not found; pass '-std=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 'gcc' failed with exit status 1

    ----------------------------------------

Any ideas?

Thanks!

jollyjonson commented 5 years ago

Same issue here on macOS 10.14.3

Any advise would be highly appreciated!

cannam commented 5 years ago

Hi all - thanks for the report and updates. I tried to take a look at this when the report was first opened, but I failed to reproduce it and then lost track of it - for which I apologise.

I'm afraid I still haven't managed to reproduce this, and I don't actually understand what the cause is. pip install vamp and pip install --no-binary :all: vamp (to force a rebuild) both work for me, when using Python 3.7 (from Homebrew) on macOS 10.14.4.

What happens if you clone the vampy-host repo and run python3 ./setup.py build from within it?

I have a suspicion that the answer to this problem lies somewhere in this document - but I fear I need to read it closely a couple more times.

jollyjonson commented 5 years ago

Hi, thanks for the quick reply! Unfortunately running python3 ./setup.py build directly in the cloned repo just gives me the following output. I am running this within an anaconda environment on Python 3.6.8:

(myenv) Jonas-MBP:vampy-host jonas$ python3 ./setup.py build
running build
running build_py
creating build
creating build/lib.macosx-10.7-x86_64-3.6
creating build/lib.macosx-10.7-x86_64-3.6/vamp
copying vamp/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/vamp
copying vamp/collect.py -> build/lib.macosx-10.7-x86_64-3.6/vamp
copying vamp/frames.py -> build/lib.macosx-10.7-x86_64-3.6/vamp
copying vamp/load.py -> build/lib.macosx-10.7-x86_64-3.6/vamp
copying vamp/process.py -> build/lib.macosx-10.7-x86_64-3.6/vamp
running build_ext
building 'vampyhost' extension
creating build/temp.macosx-10.7-x86_64-3.6
creating build/temp.macosx-10.7-x86_64-3.6/vamp-plugin-sdk
creating build/temp.macosx-10.7-x86_64-3.6/vamp-plugin-sdk/src
creating build/temp.macosx-10.7-x86_64-3.6/vamp-plugin-sdk/src/vamp-hostsdk
creating build/temp.macosx-10.7-x86_64-3.6/native
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/envs/myenv/include -arch x86_64 -I/anaconda3/envs/myenv/include -arch x86_64 -D_USE_MATH_DEFINES=1 -Ivamp-plugin-sdk -I/anaconda3/envs/myenv/lib/python3.6/site-packages/numpy/core/include -I/anaconda3/envs/myenv/include/python3.6m -c vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp -o build/temp.macosx-10.7-x86_64-3.6/vamp-plugin-sdk/src/vamp-hostsdk/Files.o
clang: error: no such file or directory: 'vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp'
clang: error: no input files
error: command 'gcc' failed with exit status 1
cannam commented 5 years ago

Oops! I forgot about that. That happens because the git repo is a mirror of a Mercurial repo that uses Mercurial subrepos.

To get these additional files, within the cloned repo, run git clone https://github.com/c4dm/vamp-plugin-sdk - then run the setup again.

jollyjonson commented 5 years ago

Hi, just tried that out. Unfortunately running the build manually gives me the same error as reported by @pseeth above.

After some googling around I found a solution on Stack Overflow which worked for me, even though I have no clue how and why. Typing the following in the Terminal did the trick:

$ conda install -y gcc
$ pip install vamp
pseeth commented 4 years ago

I just tried pip install vamp on macOS Catalina 10.15.3 and it worked! Unsure what changed.