VOGONS


First post, by kegepet

User metadata
Rank Newbie
Rank
Newbie

I'm not very knowledgeable in this area, so I'm sure this is a silly question. I just compiled libmt32emu and the alsa driver. However, when I attempt to launch mt32d, I get:

kp@blah1:~$ sudo mt32d -h
mt32d: error while loading shared libraries: libmt32emu.so.2: cannot open shared object file: No such file or directory

I checked that the "libmt32emu.so.2" is correctly installed to "/usr/local/lib." It is.
The rom files are correctly installed to "/usr/share/mt32-rom-data."
And "mt32d" binary is correctly installed to "/usr/local/bin."

What am I doing wrong here? Thanks.

Reply 1 of 7, by darry

User metadata
Rank l33t++
Rank
l33t++
kegepet wrote on 2020-07-17, 19:36:
I'm not very knowledgeable in this area, so I'm sure this is a silly question. I just compiled libmt32emu and the alsa driver. H […]
Show full quote

I'm not very knowledgeable in this area, so I'm sure this is a silly question. I just compiled libmt32emu and the alsa driver. However, when I attempt to launch mt32d, I get:

kp@blah1:~$ sudo mt32d -h
mt32d: error while loading shared libraries: libmt32emu.so.2: cannot open shared object file: No such file or directory

I checked that the "libmt32emu.so.2" is correctly installed to "/usr/local/lib." It is.
The rom files are correctly installed to "/usr/share/mt32-rom-data."
And "mt32d" binary is correctly installed to "/usr/local/bin."

What am I doing wrong here? Thanks.

Try running depmod ldconfig as root once and try again .

EDIT: Sorry, brain fart .

Reply 3 of 7, by darry

User metadata
Rank l33t++
Rank
l33t++
kegepet wrote on 2020-07-17, 20:01:

worked. mt32d starts up successfully--says it's running on midi port 128:0. However, "amidi -l" does not list it. Is this normal?

I am not an expert at MIDI under Linux, but I would guess that is normal for software defined MIDI ports. The "aconnect -i -o" command should list the Munt MIDI port correctly, if my understanding is correct .

See https://alsa.opensrc.org/AlsaMidiOverview

Reply 4 of 7, by kegepet

User metadata
Rank Newbie
Rank
Newbie
darry wrote on 2020-07-17, 22:33:
kegepet wrote on 2020-07-17, 20:01:

worked. mt32d starts up successfully--says it's running on midi port 128:0. However, "amidi -l" does not list it. Is this normal?

I am not an expert at MIDI under Linux, but I would guess that is normal for software defined MIDI ports. The "aconnect -i -o" command should list the Munt MIDI port correctly, if my understanding is correct .

See https://alsa.opensrc.org/AlsaMidiOverview

Thanks, don't think I ever used "aconnect" before. Fluidsynth shows up just fine with "amidi -l," so I'm not sure if it's normal. There must be some good reason for it, though.

Reply 5 of 7, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Fluidsynth may configure it's midi port differently as amidi is built to work with hardware midi devices. Use aconnect -l instead as it shows all midi devices (both input and output) and will be required for virtually patching between midi ports (unless you use one of the graphical tools).

From the amidi man page (https://linux.die.net/man/1/amidi):

-l, --list-devices
Prints a list of all hardware MIDI ports.

All hail the Great Capacitor Brand Finder

Reply 6 of 7, by sergm

User metadata
Rank Oldbie
Rank
Oldbie
darry wrote on 2020-07-17, 19:47:
kegepet wrote on 2020-07-17, 19:36:
I'm not very knowledgeable in this area, so I'm sure this is a silly question. I just compiled libmt32emu and the alsa driver. H […]
Show full quote

I'm not very knowledgeable in this area, so I'm sure this is a silly question. I just compiled libmt32emu and the alsa driver. However, when I attempt to launch mt32d, I get:

kp@blah1:~$ sudo mt32d -h
mt32d: error while loading shared libraries: libmt32emu.so.2: cannot open shared object file: No such file or directory

I checked that the "libmt32emu.so.2" is correctly installed to "/usr/local/lib." It is.
The rom files are correctly installed to "/usr/share/mt32-rom-data."
And "mt32d" binary is correctly installed to "/usr/local/bin."

What am I doing wrong here? Thanks.

Try running depmod ldconfig as root once and try again .

EDIT: Sorry, brain fart .

There're more options, yet I'm not sure which one should be applied to the mt32emu_alsadrv Makefile. Perhaps, we should rely on RPATH while linking, as we do in other projects (implicitly via cmake).

Reply 7 of 7, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

You could, or put together a simple helper script that checks for a specified LIBDIR in ldconfig -p. If it's not already configured, add a rule in ld.so.conf.d (if it exists) or ld.so.conf (if that directory doesn't exist). Reload ldconfig and check the searched paths again to see if LIBDIR is included. If not, throw an error.

All hail the Great Capacitor Brand Finder