VOGONS


DOSBox ECE (for Windows & Linux)

Topic actions

Reply 20 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member

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:

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

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:

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:

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':
Show last 161 lines
(.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)

Reply 21 of 1116, by gandhig

User metadata
Rank Member
Rank
Member

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 🤣 .

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 22 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member

When I set the "-static" switch I get the following warning during ./configure:

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:

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)

Reply 25 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member
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)

Reply 27 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member
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)

Reply 28 of 1116, by filipetolhuizen

User metadata
Rank Oldbie
Rank
Oldbie

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.

Reply 29 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member

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)

Reply 31 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member
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

  • Filename
    DOSBox_4M.7z
    File size
    1.61 MiB
    Downloads
    89 downloads
    File license
    Fair use/fair dealing exception

My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)

Reply 32 of 1116, by gandhig

User metadata
Rank Member
Rank
Member

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).

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-03-05, 20:01. Edited 2 times in total.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 33 of 1116, by filipetolhuizen

User metadata
Rank Oldbie
Rank
Oldbie
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.

Reply 34 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member
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)

Reply 35 of 1116, by gandhig

User metadata
Rank Member
Rank
Member
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 😉 , 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 config […]
Show full quote

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-03-05, 21:08. Edited 3 times in total.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 36 of 1116, by filipetolhuizen

User metadata
Rank Oldbie
Rank
Oldbie

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

Reply 38 of 1116, by filipetolhuizen

User metadata
Rank Oldbie
Rank
Oldbie
Qbix wrote:

try running univbe.

Would S3VBE20 also help in this case? I had many problems with univbe in the past...

Reply 39 of 1116, by Yesterplay80

User metadata
Rank Member
Rank
Member
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)