Although this will not answer your question exactly, it can help you debug the problem yourself.
Error:
ImportError: /usr/lib/libportmidi.so.0: undefined symbol: snd_seq_event_input_pending
undefined symbol is a dynamic linker refusal to find the code needed for the snd_seq_event_input_pending function.
In the example of the Oneiric 32-bit system, we can do this to look at some symbols of libportmidi.so.0 .
nm -DC /usr/lib/libportmidi.so.0 | grep snd_seq_event_input_pending U snd_seq_event_input_pending
This tells us that the libportmidi library requires code for snd_seq_event_input_pending , but the character is undefined. Therefore, for the libportmidi function libportmidi it must also load an additional library that contains this function.
In Oneiric, I found that this symbol is defined in libasound2.so.2 .
nm -DC /usr/lib/i386-linux-gnu/libasound.so.2 | grep snd_seq_event_input_pending 000a0fa0 T snd_seq_event_input_pending
T indicates that the function exists and is in the text (code) segment.
The linking of linked libraries is usually automatic, since libasound.so.2 should be referenced by libportmidi . In the same system.
ldd /usr/lib/libportmidi.so.0 .... libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0x00e35000)
which shows that libmidi dependent on libasound . There is no link to libasound in the comments list of ldd in your comments, and therefore it will not try to automatically link libasound.so.2 when it is loaded, which will lead to an error.
There are several reasons why this error may occur:
- The
libportmidi related libportmidi may vary from Oneiric to Precise. for example, libportmidi might try to find its own dependencies for libasound . (Unlikely). - There is an error in the
libportmidi package where it does not reference libasound.so.2 as follows. This may be platform specific (for example, only an error on 64-bit systems).
I suggest you try finding a library on your system that contains the snd_seq_event_input_pending function, and then working back to try and determine why it was not related to libportmidi .
The following bash command will help you find libraries that implement snd_seq_event_input_pending . If you did not find anything, there is a problem with the libraries installed on your computer.
find /lib /usr/lib -name "lib*.so.*" | while read f; do if nm -DC "$f" | grep -q 'T snd_seq_event_input_pending'; then echo "$f" fi done