VOGONS

Common searches


First post, by almeath

User metadata
Rank Member
Rank
Member

[I attempted to find a place to post this request in the DOSBox branches sub-forum, but I do not appear to have posting privileges in there]

I spent a considerable amount of time teaching myself how to compile DOSBox SVN in macOS (with patches), as there is not a great deal of up-to-date information available for the minority of Mac users. Having succeeded in that endeavor, I then became interested in seeing if I could manage to compile some of the various unofficial DOSBox branches, many of which are seemingly "Windows only", but which have some very enticing features. For example, I see requests asking whether DOSBox ECE could be made to work on the Mac, so I decided to give that one a go first. Being a long time Mac user, I do not like to see requests go unaddressed. I want to do something practical to help out, even though I have no programming background and am entirely self taught.

So,I downloaded the source for DOSBox ECE from Github. Running autogen spat out a permissions error, so I ran this command:

chmod +x autogen.sh

Running autogen then resulted in another error: bad interpreter: /bin/sh^M:

After some research, I learned that I needed to install dos2unix via Homebrew and then run the following command on autogen, which converts the format to one that is friendly with Unix/macOS:

dos2unix autogen.sh

I was then able to run ./autogen, followed by ./configure , both of which successfully completed with no errors. I have attached the terminal output of each process.

Lastly, I ran the make command. Everything was working well despite some warnings being generated. Ultimately, the make command failed due to 3 errors and 2 warnings, all related to the "drive_iso.cpp" file. The last part of the terminal output was:

11 warnings generated.
mv -f .deps/drive_fat.Tpo .deps/drive_fat.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -g -O2 -mno-ms-bitfields -MT drive_iso.o -MD -MP -MF .deps/drive_iso.Tpo -c -o drive_iso.o drive_iso.cpp
In file included from drive_iso.cpp:22:
./cdrom.h:150:28: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
const Bit16u chunkSize = 0;
^
drive_iso.cpp:147:19: error: expected '('
fileName{'\0'},
^
drive_iso.cpp:147:24: error: expected ';' after expression
fileName{'\0'},
^
;
drive_iso.cpp:147:20: warning: expression result unused [-Wunused-value]
fileName{'\0'},
^~~~
drive_iso.cpp:147:25: error: expected unqualified-id
fileName{'\0'},
^
2 warnings and 3 errors generated.
make[3]: *** [drive_iso.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

It seems that this *almost* worked and there should not be anything fundamentally incompatible with getting this to compile on the Mac. The full terminal output for the make command is also attached.

Can anyone familiar with DOSBox compilation provide me with some advice or assistance in relation to the above error? I have searched around online but nothing useful has emerged.

Attachments

  • Filename
    make.txt
    File size
    15.74 KiB
    Downloads
    42 downloads
    File license
    Public domain
  • Filename
    configure.txt
    File size
    6.57 KiB
    Downloads
    36 downloads
    File license
    Public domain
  • Filename
    autogen.txt
    File size
    493 Bytes
    Downloads
    40 downloads
    File license
    Public domain

DOSBox SVN for macOS (x86-64) - customized with Munt MT-32, Nuked OPL3, 3dfx Voodoo, Extra RAM, Large HD, and more.
https://github.com/almeath/DOSBox-SVN-64-bit-for-macOS

Reply 1 of 3, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

I'm lost in the moderation on how to merge this topic with another one.
But, this ideally belongs into the EXE thread as it is specific to that.

For lock stock Dosbox compilation you don't need much:
in Homebrew make sure you install libsdl, libpng, libsdl_sound (with libogg and libvorbis), libsdl_net.
Then run:
./autogen.sh
./configure
make

So my advice, first try this with lock stock DOSBox. If that works, your problems lie with the fork or patch you want to compile and that means you need to post in the appropriate thread.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 2 of 3, by almeath

User metadata
Rank Member
Rank
Member

Thanks - I found the DOSBox ECE thread, so I will re-post there.

(I can compile vanilla DOSBox and SVN, so it must be something specific to the ECE version, rather than a fault in the general process I am following)

DOSBox SVN for macOS (x86-64) - customized with Munt MT-32, Nuked OPL3, 3dfx Voodoo, Extra RAM, Large HD, and more.
https://github.com/almeath/DOSBox-SVN-64-bit-for-macOS

Reply 3 of 3, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Good luck!

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper