DOSBox ECE (for Windows)

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-2-13 @ 13:30

Thank you for your help so far!

OK, I once again tried to compile DOSBox by replacing the corresponding lines in both makefiles with these:
Code: Select all
LIBS = -L/usr/lib/i386-linux-gnu/libSDL_sound.a -L/usr/lib/libasound.a -lm -ldl -pthread -L-L/usr/lib/i386-linux-gnu/libSDLmain.a /usr/lib/i386-linux-gnu/libSDL.a /usr/lib/i386-linux-gnu/libpng12.a /usr/lib/i386-linux-gnu/libz.a /usr/lib/i386-linux-gnu/libSDL_net.a -lX11 -lGL -L/usr/lib/i386-linux-gnu/libvorbisfile.a /usr/lib/i386-linux-gnu/libvorbis.a /usr/lib/i386-linux-gnu/libogg.a


and
Code: Select all
SDL_LIBS = -L/usr/lib/i386-linux-gnu/libSDL.a /usr/lib/i386-linux-gnu/libSDLmain.a -lpthread -lm -ldl -lasound -lm -ldl -lpthread -lpulse-simple -lpulse -lX11 -lXext -lcaca -lpthread


After some tries I seem to have gotten the order of the libraries straight, but still I get errors:
Code: Select all
g++  -g -O2 -mno-ms-bitfields   -static-libgcc -static-libstdc++ -s -o dosbox dosbox.o  cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a -L/usr/lib/i386-linux-gnu/libSDL_sound.a -L/usr/lib/libasound.a -lm -ldl -pthread -L-L/usr/lib/i386-linux-gnu/libSDLmain.a /usr/lib/i386-linux-gnu/libSDL.a /usr/lib/i386-linux-gnu/libpng12.a /usr/lib/i386-linux-gnu/libz.a /usr/lib/i386-linux-gnu/libSDL_net.a -lX11 -lGL -L/usr/lib/i386-linux-gnu/libvorbisfile.a /usr/lib/i386-linux-gnu/libvorbis.a /usr/lib/i386-linux-gnu/libogg.a
/usr/bin/ld: /usr/lib/i386-linux-gnu/libSDL.a(SDL_x11gl.o): undefined reference to symbol 'dlopen@@GLIBC_2.1'
/usr/lib/gcc/i686-linux-gnu/5/../../../i386-linux-gnu/libdl.so: error adding symbols: DSO aus der Kommandozeile fehlt
collect2: error: ld returned 1 exit status


UPDATE: By using -ldl several times and by adding -lXext I managed to get rid of all missing symbols, I now get this error:
Code: Select all
g++  -g -O2 -mno-ms-bitfields   -static-libgcc -static-libstdc++ -s -o dosbox dosbox.o  cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a -L/usr/lib/i386-linux-gnu/libSDL_sound.a -L/usr/lib/libasound.a -lm -ldl -pthread -L/usr/lib/i386-linux-gnu/libSDLmain.a /usr/lib/i386-linux-gnu/libSDL.a /usr/lib/i386-linux-gnu/libpng12.a /usr/lib/i386-linux-gnu/libz.a /usr/lib/i386-linux-gnu/libSDL_net.a -lX11 -lXext -lGL -lm -ldl -pthread -L/usr/lib/i386-linux-gnu/libvorbisfile.a /usr/lib/i386-linux-gnu/libvorbis.a /usr/lib/i386-linux-gnu/libogg.a -lm -ldl -pthread
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::AudioFile::~AudioFile()':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:84: Nicht definierter Verweis auf `Sound_FreeSample'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::AudioFile::~AudioFile()':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:84: Nicht definierter Verweis auf `Sound_FreeSample'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::AudioFile::getLength()':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:116: Nicht definierter Verweis auf `Sound_Seek'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::AudioFile::read(unsigned char*, int, int)':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:90: Nicht definierter Verweis auf `Sound_SetBufferSize'
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:94: Nicht definierter Verweis auf `Sound_Seek'
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:98: Nicht definierter Verweis auf `Sound_Decode'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::AudioFile::AudioFile(char const*, bool&)':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:76: Nicht definierter Verweis auf `Sound_NewSampleFromFile'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Image_Init(Section*)':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:751: Nicht definierter Verweis auf `Sound_Init'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Interface_Image::LoadCueSheet(char*)':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:537: Nicht definierter Verweis auf `Sound_AvailableDecoders'
dos/libdos.a(cdrom_image.o): In Funktion `CDROM_Image_Destroy(Section*)':
/home/<username>/dosbox/src/src/dos/cdrom_image.cpp:745: Nicht definierter Verweis auf `Sound_Quit'
gui/libgui.a(midi.o): In Funktion `MidiHandler_alsa::Close()':
/home/<username>/dosbox/src/src/gui/midi_alsa.h:124: Nicht definierter Verweis auf `snd_seq_close'
gui/libgui.a(midi.o): In Funktion `MidiHandler_alsa::send_event(int)':
/home/<username>/dosbox/src/src/gui/midi_alsa.h:48: Nicht definierter Verweis auf `snd_seq_event_output'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:50: Nicht definierter Verweis auf `snd_seq_drain_output'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:48: Nicht definierter Verweis auf `snd_seq_event_output'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:50: Nicht definierter Verweis auf `snd_seq_drain_output'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:48: Nicht definierter Verweis auf `snd_seq_event_output'
gui/libgui.a(midi.o): In Funktion `MidiHandler_alsa::Open(char const*)':
/home/<username>/dosbox/src/src/gui/midi_alsa.h:147: Nicht definierter Verweis auf `snd_seq_open'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:152: Nicht definierter Verweis auf `snd_seq_client_id'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:153: Nicht definierter Verweis auf `snd_seq_set_client_name'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:160: Nicht definierter Verweis auf `snd_seq_create_simple_port'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:170: Nicht definierter Verweis auf `snd_seq_connect_to'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:173: Nicht definierter Verweis auf `snd_seq_connect_to'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:176: Nicht definierter Verweis auf `snd_seq_close'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:163: Nicht definierter Verweis auf `snd_seq_close'
/home/<username>/dosbox/src/src/gui/midi_alsa.h:182: Nicht definierter Verweis auf `snd_seq_close'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_CloseAudio':
(.text+0x79): Nicht definierter Verweis auf `snd_pcm_drain'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_CloseAudio':
(.text+0x87): Nicht definierter Verweis auf `snd_pcm_close'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_PlayAudio':
(.text+0x1a4): Nicht definierter Verweis auf `snd_pcm_writei'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_PlayAudio':
(.text+0x1dc): Nicht definierter Verweis auf `snd_pcm_recover'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_PlayAudio':
(.text+0x1ec): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_finalize_hardware.isra.5':
(.text+0x3ca): Nicht definierter Verweis auf `snd_pcm_hw_params'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_finalize_hardware.isra.5':
(.text+0x3e3): Nicht definierter Verweis auf `snd_pcm_hw_params_get_buffer_size'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_finalize_hardware.isra.5':
(.text+0x441): Nicht definierter Verweis auf `snd_pcm_hw_params_get_period_size'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_finalize_hardware.isra.5':
(.text+0x451): Nicht definierter Verweis auf `snd_pcm_hw_params_get_periods'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_period_size':
(.text+0x4bc): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_period_size':
(.text+0x4cd): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_period_size':
(.text+0x4e8): Nicht definierter Verweis auf `snd_pcm_hw_params_copy'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_period_size':
(.text+0x538): Nicht definierter Verweis auf `snd_pcm_hw_params_set_period_size_near'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_period_size':
(.text+0x55a): Nicht definierter Verweis auf `snd_pcm_hw_params_set_periods_near'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_buffer_size.constprop.6':
(.text+0x5cc): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_buffer_size.constprop.6':
(.text+0x5dd): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_buffer_size.constprop.6':
(.text+0x5f8): Nicht definierter Verweis auf `snd_pcm_hw_params_copy'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_set_buffer_size.constprop.6':
(.text+0x640): Nicht definierter Verweis auf `snd_pcm_hw_params_set_buffer_size_near'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x6e3): Nicht definierter Verweis auf `snd_pcm_open'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x6f3): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x704): Nicht definierter Verweis auf `snd_pcm_hw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x723): Nicht definierter Verweis auf `snd_pcm_hw_params_any'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x741): Nicht definierter Verweis auf `snd_pcm_hw_params_set_access'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x7b2): Nicht definierter Verweis auf `snd_pcm_hw_params_set_format'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x7fb): Nicht definierter Verweis auf `snd_pcm_hw_params_set_channels'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x829): Nicht definierter Verweis auf `snd_pcm_hw_params_set_rate_near'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x85c): Nicht definierter Verweis auf `snd_pcm_sw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x86d): Nicht definierter Verweis auf `snd_pcm_sw_params_sizeof'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x88c): Nicht definierter Verweis auf `snd_pcm_sw_params_current'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x8b0): Nicht definierter Verweis auf `snd_pcm_sw_params_set_avail_min'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x8ce): Nicht definierter Verweis auf `snd_pcm_sw_params_set_start_threshold'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x8ea): Nicht definierter Verweis auf `snd_pcm_sw_params'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x946): Nicht definierter Verweis auf `snd_pcm_nonblock'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0x9d9): Nicht definierter Verweis auf `snd_pcm_hw_params_get_channels'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0xa35): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0xa92): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0xab5): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0xac8): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `ALSA_OpenAudio':
(.text+0xaeb): Nicht definierter Verweis auf `snd_strerror'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o):(.text+0xb01): Weitere nicht definierte Verweise auf `snd_strerror' folgen
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `Audio_Available':
(.text+0xbb1): Nicht definierter Verweis auf `snd_pcm_open'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_alsa_audio.o): In Funktion `Audio_Available':
(.text+0xbc6): Nicht definierter Verweis auf `snd_pcm_close'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_SetCaption':
(.text+0xa6): Nicht definierter Verweis auf `pa_context_set_name'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x17a): Nicht definierter Verweis auf `pa_stream_drain'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x19d): Nicht definierter Verweis auf `pa_context_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x1b6): Nicht definierter Verweis auf `pa_stream_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x1d2): Nicht definierter Verweis auf `pa_mainloop_iterate'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x1e2): Nicht definierter Verweis auf `pa_operation_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x205): Nicht definierter Verweis auf `pa_operation_cancel'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_CloseAudio':
(.text+0x25a): Nicht definierter Verweis auf `pa_stream_disconnect'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_CloseAudio':
(.text+0x269): Nicht definierter Verweis auf `pa_stream_unref'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_CloseAudio':
(.text+0x289): Nicht definierter Verweis auf `pa_context_disconnect'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_CloseAudio':
(.text+0x298): Nicht definierter Verweis auf `pa_context_unref'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_CloseAudio':
(.text+0x2b7): Nicht definierter Verweis auf `pa_mainloop_free'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_PlayAudio':
(.text+0x2f0): Nicht definierter Verweis auf `pa_stream_write'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitAudio':
(.text+0x32d): Nicht definierter Verweis auf `pa_stream_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitAudio':
(.text+0x349): Nicht definierter Verweis auf `pa_mainloop_iterate'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitAudio':
(.text+0x361): Nicht definierter Verweis auf `pa_stream_writable_size'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitAudio':
(.text+0x37a): Nicht definierter Verweis auf `pa_context_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x559): Nicht definierter Verweis auf `pa_channel_map_init_auto'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x564): Nicht definierter Verweis auf `pa_mainloop_new'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x58c): Nicht definierter Verweis auf `pa_mainloop_get_api'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x5a2): Nicht definierter Verweis auf `pa_context_new'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x5c4): Nicht definierter Verweis auf `pa_context_connect'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x5e5): Nicht definierter Verweis auf `pa_context_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x611): Nicht definierter Verweis auf `pa_mainloop_iterate'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x6e5): Nicht definierter Verweis auf `pa_stream_new'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x715): Nicht definierter Verweis auf `pa_stream_connect_playback'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x735): Nicht definierter Verweis auf `pa_stream_get_state'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_OpenAudio':
(.text+0x759): Nicht definierter Verweis auf `pa_mainloop_iterate'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `Audio_Available':
(.text+0x8d0): Nicht definierter Verweis auf `pa_simple_new'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `Audio_Available':
(.text+0x8e2): Nicht definierter Verweis auf `pa_simple_free'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x1f8): Nicht definierter Verweis auf `pa_operation_unref'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_pulseaudio.o): In Funktion `PULSE_WaitDone':
(.text+0x216): Nicht definierter Verweis auf `pa_operation_unref'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_VideoQuit':
(.text+0xdc): Nicht definierter Verweis auf `__caca0_free_bitmap'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_VideoQuit':
(.text+0xf1): Nicht definierter Verweis auf `__caca0_end'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x138): Nicht definierter Verweis auf `__caca0_cv'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x13d): Nicht definierter Verweis auf `caca_get_canvas_height'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x144): Nicht definierter Verweis auf `__caca0_cv'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x14e): Nicht definierter Verweis auf `caca_get_canvas_width'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x162): Nicht definierter Verweis auf `__caca0_cv'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x167): Nicht definierter Verweis auf `caca_dither_bitmap'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x170): Nicht definierter Verweis auf `__caca0_dp'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_DirectUpdate':
(.text+0x175): Nicht definierter Verweis auf `caca_refresh_display'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_VideoInit':
(.text+0x26f): Nicht definierter Verweis auf `__caca0_init'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_SetVideoMode':
(.text+0x449): Nicht definierter Verweis auf `__caca0_free_bitmap'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacavideo.o): In Funktion `Caca_SetVideoMode':
(.text+0x503): Nicht definierter Verweis auf `__caca0_create_bitmap'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacaevents.o): In Funktion `Caca_PumpEvents':
(.text+0xc5): Nicht definierter Verweis auf `__caca0_get_event'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacaevents.o): In Funktion `Caca_PumpEvents':
(.text+0x168): Nicht definierter Verweis auf `__caca0_cv'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacaevents.o): In Funktion `Caca_PumpEvents':
(.text+0x16d): Nicht definierter Verweis auf `caca_get_canvas_width'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacaevents.o): In Funktion `Caca_PumpEvents':
(.text+0x18a): Nicht definierter Verweis auf `__caca0_cv'
/usr/lib/i386-linux-gnu/libSDL.a(SDL_cacaevents.o): In Funktion `Caca_PumpEvents':
(.text+0x18f): Nicht definierter Verweis auf `caca_get_canvas_height'
collect2: error: ld returned 1 exit status

Any ideas what this means ("Nicht definierter Verweis auf" is german for "undefined reference to") and how to solve it?
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby gandhig » 2017-2-14 @ 13:43

First time, trying to understand the compilation under Linux. Pardon me, if sounding noob. From what I read online, a little bit old,

a) 'L' flag should point to the directory of the library only and not the library file itself.

b) Following the 'L' flag, 'l' flag should point to the library name without the prefix"lib" and suffix ".a", for example "-l SDLmain"

c) 'static' flag to be added for all static libraries to be linked.

d) order of processing seems to be very important in case of linking static libraries for resolving the undefined reference/dependency issue, which may require the understanding of program logic (or) may try to use brute force for arriving at the correct 'order' by trial & error.

e) something else..., if it still fails :lol: .
User avatar
gandhig
Member
 
Posts: 319
Joined: 2014-2-12 @ 08:35

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-2-15 @ 10:40

When I set the "-static" switch I get the following warning during ./configure:
Code: Select all
checking for SDL_sound.h... yes
checking for Sound_Init in -lSDL_sound... no
checking for Sound_Seek in -lSDL_sound... no
configure: WARNING: Can't find libSDL_sound, libSDL_sound support disabled

Plus I always get these errors when making the binary:
Code: Select all
g++  -g -O2 -mno-ms-bitfields   -static-libgcc -static-libstdc++ -static -s -o dosbox dosbox.o  cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a -L/usr/lib/i386-linux-gnu -lSDL_sound -lasound -lSDL -lpng12 -lz -lSDL_net -lX11 -lGL -lvorbis -lvorbisfile -logg -lm -ldl -lpthread
/usr/lib/i386-linux-gnu/libasound.a(pcm_dmix.o): In Funktion `snd_pcm_dmix_sync_ptr':
/home/michele/alsa-lib-1.1.3/src/pcm/pcm_dmix.c:447: Warnung:
/usr/bin/ld: cannot find -lGL
/usr/lib/i386-linux-gnu/libasound.a(dlmisc.o): In Funktion `snd_dlopen':
/home/michele/alsa-lib-1.1.3/src/dlmisc.c:83: Warnung: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/i386-linux-gnu/libasound.a(pcm_direct.o): In Funktion `snd1_pcm_direct_parse_open_conf':
/home/michele/alsa-lib-1.1.3/src/pcm/pcm_direct.c:1720: Warnung: Using 'getgrnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
misc/libmisc.a(cross.o): In Funktion `Cross::ResolveHomedir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/michele/dosbox/src/misc/cross.cpp:110: Warnung: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/i386-linux-gnu/libX11.a(xim_trans.o): In Funktion `_XimXTransSocketINETConnect':
(.text+0xfc2): Warnung: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/i386-linux-gnu/libSDL_net.a(SDLnet.o): In Funktion `SDLNet_ResolveIP':
(.text+0x19c): Warnung: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/i386-linux-gnu/libSDL_net.a(SDLnet.o): In Funktion `SDLNet_ResolveHost':
(.text+0x154): Warnung: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby Qbix » 2017-2-15 @ 16:10

the -lGL can't be found.
The others are warnings which come from -static
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10355
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-2-26 @ 15:46

In this enhanced version can the video memory be configured?
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-2-27 @ 09:43

filipetolhuizen wrote:In this enhanced version can the video memory be configured?

Only for the 3Dfx voodoo chipset, not for the normally emulated graphics card(s).
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-2-27 @ 15:15

Does it need a patch for that? I remember configuring it on some older Daum release to stop flickering on Blood.
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-2-27 @ 16:04

filipetolhuizen wrote:Does it need a patch for that? I remember configuring it on some older Daum release to stop flickering on Blood.

I fixed the flickering of the HUD in Blood and Redneck Rampage by changing the graphic card from S3_SVGA to VESA_NOLFB.
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-2-28 @ 00:29

But that would degrade performance. By increasing the vmemsize, the game will do double/triple buffer, running faster and fixing the flickering, and possibly adding higher resolutions as well.
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-2-28 @ 08:24

I can't remember noticing a performance loss, but I didn't play it it much.

Anyway, the patches I found that add the possibility to configure the video memory are based on some 4 year old source of DOSBox and don't apply to recent SVNs. So unless someone comes up with a new patch, there's nothing I or anyone else can do.
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-2-28 @ 21:53

So it does require a patch. Thought that would be easier.
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-3-01 @ 10:13

filipetolhuizen wrote:So it does require a patch. Thought that would be easier.

That would be nice, but basically any new feature requires changes to the existing source code.

UPDATE: I compiled an exe that has 4 MB of video memory instead of the 2 MB it normally has. However, there never was a S3 Trio 64 video card with 4 MB of VRAM, so it might as well be that some games have trouble with that. Please give it a try and see if it fixes the problems you encountered in Build engine games.
Attachments
DOSBox_4M.7z
(1.61 MiB) Downloaded 15 times
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby gandhig » 2017-3-01 @ 20:39

After lots of trial and errors & googling, static build of DOSBox SVN r4006(~19 MB) was successful on Lubuntu 14.04 LTS(32 bit) guest under Virtualbox. Tested only Lure of the Temptress. Have to test it under a real Linux system with bare minimum installed packages.

Steps attempted:

a) Collected the required static libraries(.a) by installing a lot of source packages and those readily available under the i386-linux-gnu folder.

b) Had to compile static build of pulseaudio separately as there was only a shared library available on normal installation. For some unknown reason, linking with shared library was unsuccessful.

c) Had to use a shared library -lXext, as the static library is yet to be compiled. Here there was no problem of linking with the shared library. Edit:Static library readily available in i386-linux-gnu folder, shall use it later today.

d) All the static libraries were copied to a separate folder, say <lib folder>

e) Ran ./autogen.sh

f) Next ./configure LDFLAGS="-static"

g) LIBS entry (in Main & src Makefiles) was made to point to <lib folder> and the static libraries as below(pretty ugly).

Code: Select all
LIBS =  -L/<lib folder> /<lib folder>/libSDL.a /<lib folder>/libpthread.a /<lib folder>/libm.a /<lib folder>/libdl.a /<lib folder>/libpng.a /<lib folder>/libz.a /<lib folder>/libX11.a /<lib folder>/libxcb.a /<lib folder>/libXau.a /<lib folder>/libXdmcp.a /<lib folder>/libpthread.a /<lib folder>/libasound.a /<lib folder>/libm.a /<lib folder>/libdl.a /<lib folder>/libpthread.a /<lib folder>/libpulse-simple.a /<lib folder>/libpulse.a /<lib folder>/libpulsecommon-4.0.a /<lib folder>/libdbus-1.a /<lib folder>/libjson-c.a /<lib folder>/librt.a /<lib folder>/libX11.a -lXext /<lib folder>/libcaca.a /<lib folder>/libz.a /<lib folder>/libncurses.a /<lib folder>/libtinfo.a /<lib folder>/libslang.a /<lib folder>/libgpm.a /<lib folder>/libpthread.a

The above order of libraries were arrived at, by going through the make output log, subsequently adding the required static libraries (sequentially) one by one to clear the undefined reference errors, function by function.

May need to be different in other systems, not sure. Also the number of dependencies can probably be reduced by selecting some other library with more functions as a combined replacement for the functions scattered among some of the libraries utilized above, don't know really.

This build is also without SDL_sound & SDL_net support at present, didn't really look into it. Will upload the build after addressing the above issues and some more tests.
Last edited by gandhig on 2017-3-05 @ 20:01, edited 2 times in total.
User avatar
gandhig
Member
 
Posts: 319
Joined: 2014-2-12 @ 08:35

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-3-02 @ 00:40

Yesterplay80 wrote:
filipetolhuizen wrote:So it does require a patch. Thought that would be easier.

That would be nice, but basically any new feature requires changes to the existing source code.

UPDATE: I compiled an exe that has 4 MB of video memory instead of the 2 MB it normally has. However, there never was a S3 Trio 64 video card with 4 MB of VRAM, so it might as well be that some games have trouble with that. Please give it a try and see if it fixes the problems you encountered in Build engine games.

Thanks, will give it a shot. 4MB is already a lot better than 2MB for high-res hungry games. However in the Daum build config file it's said that only above 8mb vram the flickering would stop. I'm mostly trying to run Blood without those massive slowdowns when you get near a wall.
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-3-02 @ 07:51

gandhig wrote:After lots of trial and errors & googling, static build of DOSBox SVN r4006(~19 MB) was successful on Lubuntu 14.04 LTS(32 bit) guest under Virtualbox. Tested only Lure of the Temptress. Have to test it under a real Linux system with bare minimum installed packages.

Thanks for your work gandhig. On Linux Mint I still wasn't able to get a static build, even though I did it pretty much the same way. Maybe you can finally shed some light on the mysteries of compiling under Linux. ;-)

filipetolhuizen wrote:Thanks, will give it a shot. 4MB is already a lot better than 2MB for high-res hungry games. However in the Daum build config file it's said that only above 8mb vram the flickering would stop. I'm mostly trying to run Blood without those massive slowdowns when you get near a wall.

What I noticed: The flickering seems to be worst when running the game in 1024x768, with 1280x1024 it runs pretty good (with much less flickering) even with the standard 2MB VRAM. I tried it with the 4MB yesterday night and it ran like a charm in all resolutions. So I don't absolutely see any need for more than 4MB VRAM. Also I didn't notice any slowdown when coming near walls, didn't have those before neither, though.

I made a short video, showing the difference between 2 and 4 MB: https://youtu.be/XmLi3IedFAo
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (Windows, Linux)

Postby gandhig » 2017-3-02 @ 11:37

Yesterplay80 wrote:Thanks for your work gandhig. On Linux Mint I still wasn't able to get a static build, even though I did it pretty much the same way. Maybe you can finally shed some light on the mysteries of compiling under Linux. ;-)

Mystery not yet resolved fully :wink: , only that a pattern has been zeroed-in through trial and error (nil knowledge about dosbox coding). No idea about Mint, guess, shouldn't make much of a difference. Assuming that yours is a 32bit build, problem is, the passing of '-static' switch (i.e ./configure LDFLAGS="-static") forces all the 'checking for' cases (needed for enabling/disabling features) to search for static libraries only while running configure. As there is no static library for -lGL, i.e. -libGL.a in the standard lubuntu 14.04 installation(probably same case in your Mint too), 'cannot find -lGL' is thrown. Somewhat similarly, -libSDL_sound.a checking fails too, disabling SDL_sound support. This is not because of the absence of libSDL_sound.a static library, but due to the missing of certain dependencies of dependencies(libSDL_Sound's). To elaborate further, libSDL_Sound has a dependency of libSDL which in turn depends on libX11 which in turn depends on libxcb. Probably the libX11.a library available in the system does not contain certain functions of libxcb which leads to 'undefined reference' errors resulting in static linking failure of libSDL_Sound. Generally config.log helped a lot in identifying the missing packages(dev). If all the required packages are installed in the system and the ./configure command is run, then all the 'checkings' should turn out 'yes' except for -lopengl32. Not sure about the importance of libopengl32 in dosbox, as googling showed it to be part of wine package. Even after installation of wine, the checking failed and no libopengl32 package could be found on Ubuntu repositories. Though -lopengl32 checking failed, the next test case of 'whether opengl display output will be enabled' was yes, hence guessing no damage done.

Yesterplay80 wrote:checking for SDL_sound.h... yes
checking for Sound_Init in -lSDL_sound... no
checking for Sound_Seek in -lSDL_sound... no
configure: WARNING: Can't find libSDL_sound, libSDL_sound support disabled

Yesterplay80 wrote:/usr/bin/ld: cannot find -lGL

Please install libsdl-sound1.2 packages(mainly dev), if not present already and 'static' switch should not be passed to configure through LDFLAGS due to reasons mentioned above. As already mentioned above, there is no libGL.a, hence it was bound to throw the 'cannot find' error when 'static' was passed to configure.
The earlier compiled 19MB static executable works fine in the main linux sytem but it is without sound support.
Last edited by gandhig on 2017-3-05 @ 21:08, edited 3 times in total.
User avatar
gandhig
Member
 
Posts: 319
Joined: 2014-2-12 @ 08:35

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-3-03 @ 13:16

I tested your 4MB build. It ran Blood way faster than 2MB but I experienced more flickering with it running at 1280x1024.
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Qbix » 2017-3-03 @ 13:55

try running univbe.
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10355
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: DOSBox ECE (Windows, Linux)

Postby filipetolhuizen » 2017-3-03 @ 14:23

Qbix wrote:try running univbe.

Would S3VBE20 also help in this case? I had many problems with univbe in the past...
User avatar
filipetolhuizen
Oldbie
 
Posts: 1092
Joined: 2006-10-24 @ 02:25
Location: Curitiba, Brazil

Re: DOSBox ECE (Windows, Linux)

Postby Yesterplay80 » 2017-3-03 @ 14:54

filipetolhuizen wrote:I tested your 4MB build. It ran Blood way faster than 2MB but I experienced more flickering with it running at 1280x1024.

Could you provide a savegame of such a spot in the game so I can try it out?
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 235
Joined: 2016-2-23 @ 11:02
Location: Germany

PreviousNext

Return to DOSBox Development

Who is online

Users browsing this forum: No registered users and 3 guests