VOGONS


First post, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

I spent some time compiling libraries and trying to make a nice .app for OSX users. I grabbed the latest build dated 20150125.

For some reason now that I'm done I'm getting Bus error: 10

If anyone is interested in taking a look at it and offering a solution I would be grateful.

EDIT: NEVERMIND...There is no way that would ever work - new plan is to compile on OSX.

Link:
<https://1drv.ms/f/s!AowUGKK5-Nl8h1HDUhi7I07C-0Q0>

I'm guessing maybe one of the dylibs is not exactly right - needs a patch maybe?

I've tried compiling it myself but after many tries the farthest I get is make error: 'Sound_GetDuration' was not declared in this scope (for cdrom_image)

Thanks! 😀

Last edited by DrNobody on 2016-07-16, 00:10. Edited 1 time in total.

Reply 1 of 8, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

You can do a search, I think we figured this out for an earlier build. But really Daum is broken and the way he linked those libs is not the slightest ideal. I tried to help him make a better static build but he seems to not have listened 😉

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 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

Thanks, I'll just keep playing around with it. I fixed the DOS line endings in the source so I'll post that to the link above if it helps anyone else get started.

Reply 3 of 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

Does this look right for Fluidsynth to work?

***************************************************************
Summary:
libsndfile: no (raw audio file rendering only)
D-Bus: no
PulseAudio: no
JACK: no
ALSA: no
PortAudio: no
OSS: no
MidiShare: no
CoreAudio: yes
CoreMIDI: yes
LADSPA support: no
LASH support: no
LADCCA support: no
OS/2 DART support: no
Audio to file driver: yes
Readline: yes (NOTE: GPL library)
Profiling: no
Debug: no
Trap on FPE (debug): no
Check FPE (debug): no
***************************************************************

I'm guessing I might want libsndfile before I install..not sure.

EDIT: I'm going to roll with this and see if it works:

***************************************************************
Summary:
libsndfile: yes (with ogg vorbis support)
D-Bus: no
PulseAudio: yes
JACK: yes
ALSA: no
PortAudio: yes
OSS: no
MidiShare: no
CoreAudio: yes
CoreMIDI: yes
LADSPA support: no
LASH support: no
LADCCA support: no
OS/2 DART support: no
Audio to file driver: yes
Readline: yes (NOTE: GPL library)
Profiling: no
Debug: no
Trap on FPE (debug): no
Check FPE (debug): no
***************************************************************

Reply 4 of 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

I'm real close to compiling this and I want to make a nice .app to share with everyone.

Here's where I'm stuck....in the original instructions we have:

******** libtbb This library will be used by xbrz scaler. (Don't compile it!) Get the latest version of tbb from the official we […]
Show full quote

******** libtbb
This library will be used by xbrz scaler. (Don't compile it!)
Get the latest version of tbb from the official website http://threadingbuildingblocks.org/
Extract it to /usr/local/
Copy everything from /usr/local/lib/ia32/gcc4.4 to /usr/local/lib

I'm lost on what the purpose is here. If we're compiling on OSX with gcc46 where does tbb fit into the picture? Obviously I don't have an '..ia32/gcc4.4' directory. It's not a directory I see in the tbb source code anyway.

Thanks.

Reply 5 of 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

I get it now. I think he meant not to do a 'make install'

What you do is download the source and 'make arch=ia32 tbb_build_dir=usr/local/lib'

That gives you the "ia32" directory in /usr/local/lib

Within it is the elusive "libtbb.dylib"

EDIT - or apparently you can download the OSX .dmg and everything is already built for you...

I would rather install this via Macports but it gives me an error.

Reply 6 of 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

Alright. I have all of the libraries installed, patched, etc. Here's as far as 'make' gets:

In file included from sdlmain.cpp:51:
./xBRZ/xbrz.h:43: error: expected identifier before ‘class’
./xBRZ/xbrz.h:45: error: ISO C++ forbids declaration of ‘ARGB’ with no type
./xBRZ/xbrz.h:46: error: ISO C++ forbids declaration of ‘RGB’ with no type
./xBRZ/xbrz.h:47: error: expected unqualified-id before ‘}’ token
./xBRZ/xbrz.h:47: error: multiple types in one declaration
sdlmain.cpp: In function ‘void GFX_ResetScreen()’:
sdlmain.cpp:691: warning: NULL used in arithmetic
sdlmain.cpp: In function ‘void opengl_init()’:
sdlmain.cpp:1321: warning: NULL used in arithmetic
sdlmain.cpp: In function ‘bool GFX_StartUpdate(Bit8u*&, Bitu&)’:
sdlmain.cpp:1668: error: ‘nullptr’ was not declared in this scope
sdlmain.cpp: In function ‘void GFX_EndUpdate(const Bit16u*)’:
sdlmain.cpp:1810: error: expected primary-expression before ‘[’ token
sdlmain.cpp:1810: error: expected primary-expression before ‘=’ token
sdlmain.cpp:1810: error: expected primary-expression before ‘]’ token
sdlmain.cpp:1827: error: expected primary-expression before ‘[’ token
sdlmain.cpp:1827: error: expected primary-expression before ‘=’ token
sdlmain.cpp:1827: error: expected primary-expression before ‘]’ token
sdlmain.cpp:1827: error: expected primary-expression before ‘const’
sdlmain.cpp:1849: error: expected primary-expression before ‘[’ token
sdlmain.cpp:1849: error: expected primary-expression before ‘]’ token
sdlmain.cpp:1849: error: expected primary-expression before ‘const’
make[3]: *** [sdlmain.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I suspect something with TBB since it is related to the xBRZ scaler, and I don't have instructions on how to install it or what version.

Suggestions please, thanks!

Reply 7 of 8, by DrNobody

User metadata
Rank Newbie
Rank
Newbie

I got it compiled sukas!

The problem above was solved by compiling with C++, but although it was happy with the tbb headers it couldn't find the library at the end. It took me while to figure out how where that goes. All of that can be solved with one line:

export CXX="/opt/local/bin/g++ -std=c++0x -ltbb"

(That is the Macports location of gcc46 - your mileage may vary).

So, now that it works...did I build it with all of the pieces?

checking for sdl-config... /usr/local/bin/sdl-config
checking for SDL - version >= 1.2.0... cross compiling; assumed OK...
yes
checking SDL version only being 1.2.X... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of unsigned char... 1
checking size of unsigned short... 2
checking size of unsigned int... 4
checking size of unsigned long... 4
checking size of unsigned long long... 8
checking size of int *... 4
checking for stdlib.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/socket.h... yes
checking for netinet/in.h... yes
checking for pwd.h... yes
checking if environ can be included... no
checking if environ can be linked... yes
checking if dirent includes d_type... yes
checking for powf in libm... yes
checking if compiler allows __attribute__... yes
checking if compiler allows __attribute__((always_inline)) ... yes
checking if compiler allows __attribute__((fastcall)) ... yes
checking if compiler allows __builtin_expect... yes
checking if compiler supports -mno-ms-bitfields... yes
checking for ALSA CFLAGS...
checking for ALSA LDFLAGS... -lasound -lm -ldl -lpthread
checking for libasound headers version >= 0.9.0... not present.
checking for snd_ctl_open in -lasound... no
checking whether byte ordering is bigendian... no
enabling inlined memory handling in CPU Core
checking for target cpu type... x86 compatible
checking whether x86 dynamic cpu core will be enabled... yes
checking whether recompiling cpu core will be enabled... no, using dynamic-x86
checking whether fpu emulation will be enabled... yes
checking whether x86 assembly fpu core will be enabled... yes
checking whether to enable unaligned memory access... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_get_io_ptr in -lpng... yes
checking for freetype-config... /usr/local/bin/freetype-config
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
Show last 32 lines
checking for pcap_open_live in -lpcap... yes
checking SDL_net.h usability... yes
checking SDL_net.h presence... yes
checking for SDL_net.h... yes
checking for SDLNet_Init in -lSDL_net... yes
checking for main in -lX11... no
checking X11/XKBlib.h usability... yes
checking X11/XKBlib.h presence... yes
checking for X11/XKBlib.h... yes
checking for XKBlib support... no
checking for main in -lGL... no
checking for main in -lopengl32... no
checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
checking whether opengl display output will be enabled... yes
checking fluidsynth.h usability... yes
checking fluidsynth.h presence... yes
checking for fluidsynth.h... yes
checking for new_fluid_synth in -lfluidsynth... yes
checking SDL_sound.h usability... yes
checking SDL_sound.h presence... yes
checking for SDL_sound.h... yes
checking for Sound_Init in -lSDL_sound... yes
checking for Sound_Seek in -lSDL_sound... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mprotect... yes
checking for setpriority support... yes
checking for PHYSFS_init in -lphysfs... yes

Do I need to go back and work on any of these headers it couldn't find?

If we're all good I will bundle in the libraries and make the app.

I can also try updating the xBRZ scaler or any suggested tweaks to the code and see if it still compiles. Let me know.

Reply 8 of 8, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Since Daum is broken in other ways, I don't see a reason to mess with it anymore. It got tweaked too many times and is using unfinished dosbox-x code...

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