mididings icon indicating copy to clipboard operation
mididings copied to clipboard

ubuntu 21.04: /usr/bin/ld: cannot find -lboost_python

Open dreamcat4 opened this issue 3 years ago • 5 comments

cannot find libboost-python-dev on ubuntu, when doing final linking stage

git clone https://github.com/dsacre/mididings.git
cd mididings
sudo apt install -y libjack-jackd2-dev libboost-dev libboost-python-dev libboost-thread-dev 
./setup.py build
./setup.py install

output:

⏚ θ127° [id:~/.builds/mididings] master ± ./setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/mididings
copying mididings/unitrepr.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/scene.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/overload.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/constants.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/patch.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/misc.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/__init__.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/arguments.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/event.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/util.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/setup.py -> build/lib.linux-x86_64-3.9/mididings
copying mididings/engine.py -> build/lib.linux-x86_64-3.9/mididings
creating build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/call.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/init.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/filters.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/splits.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/modifiers.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/generators.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/__init__.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/base.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/printing.py -> build/lib.linux-x86_64-3.9/mididings/units
copying mididings/units/engine.py -> build/lib.linux-x86_64-3.9/mididings/units
creating build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/key_color.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/per_channel.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/polyphony.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/latch.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/osc.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/gm.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/floating_split.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/dbus.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/ctrl_sysex.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/inotify.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/__init__.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/panic.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/pedal_noteoff.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/memorize_scene.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/voices.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/engine.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/suppress_pc.py -> build/lib.linux-x86_64-3.9/mididings/extra
copying mididings/extra/harmonizer.py -> build/lib.linux-x86_64-3.9/mididings/extra
creating build/lib.linux-x86_64-3.9/mididings/live
copying mididings/live/livedings.py -> build/lib.linux-x86_64-3.9/mididings/live
copying mididings/live/osc_control.py -> build/lib.linux-x86_64-3.9/mididings/live
copying mididings/live/widgets.py -> build/lib.linux-x86_64-3.9/mididings/live
copying mididings/live/__init__.py -> build/lib.linux-x86_64-3.9/mididings/live
running build_ext
building '_mididings' extension
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/src
creating build/temp.linux-x86_64-3.9/src/backend
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/backend/alsa.cc -o build/temp.linux-x86_64-3.9/src/backend/alsa.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/backend/base.cc -o build/temp.linux-x86_64-3.9/src/backend/base.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/backend/jack.cc -o build/temp.linux-x86_64-3.9/src/backend/jack.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/backend/jack_buffered.cc -o build/temp.linux-x86_64-3.9/src/backend/jack_buffered.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/backend/jack_realtime.cc -o build/temp.linux-x86_64-3.9/src/backend/jack_realtime.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/engine.cc -o build/temp.linux-x86_64-3.9/src/engine.o
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
                 from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
                 from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
                 from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
                 from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from src/midi_event.hh:19,
                 from src/patch.hh:16,
                 from src/engine.hh:15,
                 from src/engine.cc:13:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/patch.cc -o build/temp.linux-x86_64-3.9/src/patch.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/python_caller.cc -o build/temp.linux-x86_64-3.9/src/python_caller.o
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
                 from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
                 from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
                 from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
                 from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from src/midi_event.hh:19,
                 from src/python_caller.hh:15,
                 from src/python_caller.cc:13:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/python_module.cc -o build/temp.linux-x86_64-3.9/src/python_module.o
src/python_module.cc: In function ‘void mididings::init_module__mididings()’:
src/python_module.cc:163:24: warning: ‘void PyEval_InitThreads()’ is deprecated [-Wdeprecated-declarations]
  163 |     PyEval_InitThreads();
      |                        ^
In file included from /usr/include/python3.9/Python.h:145,
                 from src/config.hh:17,
                 from src/python_module.cc:12:
/usr/include/python3.9/ceval.h:130:37: note: declared here
  130 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
      |                                     ^~~~~~~~~~~~~~~~~~
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wfatal-errors -fvisibility=hidden -fvisibility-inlines-hidden -DVERSION=2015+rbbec99a -DENABLE_ALSA_SEQ=1 -DENABLE_JACK_MIDI=1 -Isrc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/id/.platformio/penv/include -I/usr/include/python3.9 -c src/send_midi.cc -o build/temp.linux-x86_64-3.9/src/send_midi.o
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-FZ7wim/python3.9-3.9.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.9/src/backend/alsa.o build/temp.linux-x86_64-3.9/src/backend/base.o build/temp.linux-x86_64-3.9/src/backend/jack.o build/temp.linux-x86_64-3.9/src/backend/jack_buffered.o build/temp.linux-x86_64-3.9/src/backend/jack_realtime.o build/temp.linux-x86_64-3.9/src/engine.o build/temp.linux-x86_64-3.9/src/patch.o build/temp.linux-x86_64-3.9/src/python_caller.o build/temp.linux-x86_64-3.9/src/python_module.o build/temp.linux-x86_64-3.9/src/send_midi.o -lboost_python -lboost_thread -lasound -ljack -lglib-2.0 -o build/lib.linux-x86_64-3.9/_mididings.cpython-39-x86_64-linux-gnu.so
/usr/bin/ld: cannot find -lboost_python
collect2: error: ld returned 1 exit status
error: command '/usr/bin/x86_64-linux-gnu-g++' failed with exit code 1
⏚ θ127° [id:~/.builds/mididings] master 1 ± 

dreamcat4 avatar Mar 17 '22 09:03 dreamcat4

⏚ θ127° [id:/usr/lib/x86_64-linux-gnu] $ ll *libboost_py*
-rw-r--r-- 1 root root 650K Feb 16  2021 libboost_python39.a
lrwxrwxrwx 1 root root   27 Feb 16  2021 libboost_python39.so -> libboost_python39.so.1.74.0
-rw-r--r-- 1 root root 250K Feb 16  2021 libboost_python39.so.1.74.0

solution:

cd /usr/lib/x86_64-linux-gnu
ln -s libboost_python39.so libboost_python3.so

worked

dreamcat4 avatar Mar 17 '22 09:03 dreamcat4

well it compiled and installed. However actually running mididing cmdline tool gives a different error:

⏚ θ127° [id:/usr/lib/x86_64-linux-gnu] 1 $ mididings --help
Traceback (most recent call last):
  File "/home/id/.platformio/penv/bin/mididings", line 4, in <module>
    __import__('pkg_resources').run_script('mididings==2015+rbbec99a', 'mididings')
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 666, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1462, in run_script
    exec(code, namespace, namespace)
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/mididings-2015+rbbec99a-py3.9-linux-x86_64.egg/EGG-INFO/scripts/mididings", line 20, in <module>
    import mididings
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/mididings-2015+rbbec99a-py3.9-linux-x86_64.egg/mididings/__init__.py", line 14, in <module>
    from mididings.setup import config, hook
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/mididings-2015+rbbec99a-py3.9-linux-x86_64.egg/mididings/setup.py", line 15, in <module>
    import mididings.arguments as _arguments
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/mididings-2015+rbbec99a-py3.9-linux-x86_64.egg/mididings/arguments.py", line 13, in <module>
    from mididings import misc
  File "/home/id/.platformio/penv/lib/python3.9/site-packages/mididings-2015+rbbec99a-py3.9-linux-x86_64.egg/mididings/misc.py", line 21, in <module>
    import decorator
ModuleNotFoundError: No module named 'decorator'

dreamcat4 avatar Mar 17 '22 09:03 dreamcat4

pip install decorator ? https://github.com/stefets/live-config/wiki/How-I-build-Mididings-(Python-3.x)

stefets avatar Mar 17 '22 11:03 stefets

thanks for the link there

dreamcat4 avatar Mar 17 '22 12:03 dreamcat4

FYI - for this error on Debian (Raspberry Pi - Bullseye), I did the following...

cd /lib/arm-linux-gnueabihf/
ln -s libboost_python39.so libboost_python3.so

okyeron avatar Mar 25 '22 21:03 okyeron