VOGONS


First post, by muchacho

User metadata
Rank Newbie
Rank
Newbie

Hi,
here's my config (hwinfo output) : https://pastebin.com/2GNzatwd
here's the fail (it's a screenshot) : https://snag.gy/esLvBc.jpg

I'm running ubuntu 18.04 and i installed all the dependencies. From what i understand, a header is missing and it seems t be part of a midi library.
I hope you can help me.
Have a nice day.

EDIT : I'm trying to compile Dosbox ECE : https://blog.yesterplay80.net/dosbox-ece-en/

Last edited by muchacho on 2018-11-21, 17:58. Edited 4 times in total.

Reply 1 of 10, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

That does not look like vanilla DOSBox. Are you trying some third-party DOSBox fork here? The missing headers are from the Munt MT-32 emulator, but official DOSBox doesn't actually have built-in MT32 emulation.

Reply 3 of 10, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

It doesn't seem ECE allows you to disable the MT-32 support, so you'll need to install the mt32emu library from Munt. That's not difficult. If you have git installed, then:

git clone https://github.com/munt/munt.git
cd munt
mkdir build
cd build
cmake ../
make -j4
sudo make install

(You can now delete the "munt" directory.)

This should install Munt into /usr/local.

Reply 4 of 10, by muchacho

User metadata
Rank Newbie
Rank
Newbie

Ok i'm missing libraries

CMake Warning at mt32emu_qt/CMakeLists.txt:115 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files. If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.


CMake Error at /usr/share/cmake-3.10/Modules/FindQt4.cmake:1320 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
mt32emu_qt/CMakeLists.txt:117 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/david/Downloads/Packages/tar/dosbox_source/munt/build/CMakeFiles/CMakeOutput.log"

but it seems i have them installed :

➜  build git:(master) ✗ sudo apt search libqt5widget
Sorting... Done
Full Text Search... Done
libqt5widgets5/bionic,now 5.9.5+dfsg-0ubuntu1 amd64 [installed,automatic]
Qt 5 widgets module

But i still get the error.
So what now ?

Reply 5 of 10, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

You can build Munt without the GUI. You only need the mt32emu library. So do this instead:

cd munt
rm -r build
mkdir build
cd build
cmake -Dmunt_WITH_MT32EMU_SMF2WAV=OFF -Dmunt_WITH_MT32EMU_QT=OFF ../
make -j4
sudo make install

The GUI is useful if you want to use Munt in other emulators (like ScummVM or vanilla DOSBox) but in this case you don't need it.

If you still want to build the Munt GUI, all you need to do is install the Qt5 development package in Ubuntu. These packages usually have the "-dev" suffix. So search for "qt5-dev" or similar. You can then delete the "build" directory again, re-run cmake without the arguments. If it builds correctly, the Munt GUI is called "mt32emu_qt". I don't think it install an application icon entry or anything, so you need to start it from the command line. But again, it's only useful for MT-32 emulation in other emulators, DOSBox-ECE does not need it.

Reply 6 of 10, by muchacho

User metadata
Rank Newbie
Rank
Newbie

Ok i just installed munt and compiled dosbox but it seems i'm still missing a library when i try to run the executable

➜  src ./dosbox 
./dosbox: error while loading shared libraries: libmt32emu.so.2: cannot open shared object file: No such file or directory

Seems like it's part of munt i just don't get it.

EDIT : and the lib is here

➜  lib pwd
/usr/local/lib
➜ lib ls
total 336
lrwxrwxrwx 1 root root 15 Nov 21 18:16 libmt32emu.so -> libmt32emu.so.2
lrwxrwxrwx 1 root root 19 Nov 21 18:16 libmt32emu.so.2 -> libmt32emu.so.2.3.0
-rw-r--r-- 1 root root 334776 Nov 21 18:16 libmt32emu.so.2.3.0
drwxrwsr-x 4 root staff 4096 Nov 13 22:30 python2.7
drwxrwsr-x 3 root staff 4096 Apr 26 2018 python3.6

Reply 7 of 10, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

Run "sudo ldconfig". Normally this is run automatically when you install packages, but since this was a manual install, you need to run that command manually.

What it does is make programs recognize newly installed library files.