echonest / remix

Echo Nest Remix: The Internet Synthesizer
http://echonest.github.com/remix
414 stars 90 forks source link

Can't build on Ubuntu 15.04 (pip or source) #45

Open declension opened 9 years ago

declension commented 9 years ago

Was excited to see remix had a pip package, but when installing on Ubuntu 15.04 x64, the recommended route of pip install remix doesn't work for me, even after installing python-dev (the first problem I encountered... more of the gritty details on the remix installation page would be good actually).

I tried reinstalling Numpy (to latest version available, 1.9.2), no change. Perhaps I'm doing something wrong, but when I built from latest github source, same problem.

Log as below. Hope that helps.

$ sudo -H pip install remix
Collecting remix
  Downloading remix-2.4.0.tar.gz (38.3MB)
    100% |████████████████████████████████| 38.3MB 24kB/s 
Installing collected packages: remix
  Running setup.py install for remix
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-k6m0fv/remix/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ceSprD-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/echonest
    copying src/echonest/__init__.py -> build/lib.linux-x86_64-2.7/echonest
    creating build/lib.linux-x86_64-2.7/echonest/remix
    copying src/echonest/remix/action.py -> build/lib.linux-x86_64-2.7/echonest/remix
    copying src/echonest/remix/modify.py -> build/lib.linux-x86_64-2.7/echonest/remix
    copying src/echonest/remix/audio.py -> build/lib.linux-x86_64-2.7/echonest/remix
    copying src/echonest/remix/video.py -> build/lib.linux-x86_64-2.7/echonest/remix
    copying src/echonest/remix/__init__.py -> build/lib.linux-x86_64-2.7/echonest/remix
    creating build/lib.linux-x86_64-2.7/echonest/remix/support
    copying src/echonest/remix/support/ffmpeg.py -> build/lib.linux-x86_64-2.7/echonest/remix/support
    copying src/echonest/remix/support/exceptionthread.py -> build/lib.linux-x86_64-2.7/echonest/remix/support
    copying src/echonest/remix/support/__init__.py -> build/lib.linux-x86_64-2.7/echonest/remix/support
    creating build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/RawInstreamFile.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/example_mimimal_type0.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/constants.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiOutFile.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/EventDispatcher.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiInStream.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/DataTypeConverters.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/example_print_file.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/RawOutstreamFile.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiInFile.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiFileParser.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/example_print_channel_0.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/example_transpose_octave.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiOutStream.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/example_print_events.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/__init__.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    copying src/echonest/remix/support/midi/MidiToText.py -> build/lib.linux-x86_64-2.7/echonest/remix/support/midi
    creating build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/catalog.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/song.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/track.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/playlist.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/config.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/results.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/sandbox.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/artist.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/proxies.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/util.py -> build/lib.linux-x86_64-2.7/pyechonest
    copying pyechonest/pyechonest/__init__.py -> build/lib.linux-x86_64-2.7/pyechonest
    running build_ext
    building 'soundtouch' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/external
    creating build/temp.linux-x86_64-2.7/external/pysoundtouch14
    creating build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/AAFilter.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/AAFilter.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/FIFOSampleBuffer.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/FIFOSampleBuffer.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/FIRFilter.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/FIRFilter.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/RateTransposer.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/RateTransposer.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/SoundTouch.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/SoundTouch.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/TDStretch.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/TDStretch.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/BPMDetect.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/BPMDetect.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    external/pysoundtouch14/libsoundtouch/BPMDetect.cpp: In destructor ‘virtual BPMDetect::~BPMDetect()’:
    external/pysoundtouch14/libsoundtouch/BPMDetect.cpp:114:12: warning: deleting object of polymorphic class type ‘soundtouch::FIFOSampleBuffer’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
         delete buffer;
                ^
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/PeakFinder.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/PeakFinder.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/mmx_optimized.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/mmx_optimized.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/sse_optimized.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/sse_optimized.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/libsoundtouch/cpu_detect_x86_gcc.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/libsoundtouch/cpu_detect_x86_gcc.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c external/pysoundtouch14/soundtouchmodule.cpp -o build/temp.linux-x86_64-2.7/external/pysoundtouch14/soundtouchmodule.o -O3 -Wno-unused
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
                     from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
                     from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from external/pysoundtouch14/soundtouchmodule.cpp:26:
    /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    external/pysoundtouch14/soundtouchmodule.cpp: In function ‘PyObject* SoundTouch_setChannels(SoundTouch*, PyObject*)’:
    external/pysoundtouch14/soundtouchmodule.cpp:190:52: error: format not a string literal and no format arguments [-Werror=format-security]
           PyErr_Format(PyExc_RuntimeError, error.what());
                                                        ^
    external/pysoundtouch14/soundtouchmodule.cpp: In function ‘PyObject* SoundTouch_putSamples(SoundTouch*, PyObject*)’:
    external/pysoundtouch14/soundtouchmodule.cpp:279:52: error: format not a string literal and no format arguments [-Werror=format-security]
           PyErr_Format(PyExc_RuntimeError, error.what());
                                                        ^
    external/pysoundtouch14/soundtouchmodule.cpp: At global scope:
    external/pysoundtouch14/soundtouchmodule.cpp:533:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
     " - clear()          : Clears all samples from ready/processing buffers.\n";
     ^
    external/pysoundtouch14/soundtouchmodule.cpp: In function ‘void initsoundtouch()’:
    external/pysoundtouch14/soundtouchmodule.cpp:687:70: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
       SoundTouchError = PyErr_NewException("soundtouch.error", NULL, NULL);
                                                                          ^
    cc1plus: some warnings being treated as errors
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
    Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-k6m0fv/remix/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ceSprD-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-k6m0fv/remix