jarikomppa / soloud

Free, easy, portable audio engine for games
http://soloud-audio.com
Other
1.77k stars 280 forks source link

Building fails on Linux #151

Closed define-private-public closed 6 years ago

define-private-public commented 7 years ago

Hi. Nice library you have hear. I'm trying to test it out, but building for me is failing on Linux (I'm using Ubuntu 16.04).

If I run

genine gmake
cd gmake
make

This is my output:

==== Building SoloudStatic (debug) ====
Creating debug/Debug/SoloudStatic
Creating debug/Debug/SoloudStatic/src/audiosource/monotone
Creating debug/Debug/SoloudStatic/src/audiosource/openmpt
Creating debug/Debug/SoloudStatic/src/audiosource/sfxr
Creating debug/Debug/SoloudStatic/src/audiosource/speech
Creating debug/Debug/SoloudStatic/src/audiosource/tedsid
Creating debug/Debug/SoloudStatic/src/audiosource/vic
Creating debug/Debug/SoloudStatic/src/audiosource/wav
Creating debug/Debug/SoloudStatic/src/backend/alsa
Creating debug/Debug/SoloudStatic/src/backend/null
Creating debug/Debug/SoloudStatic/src/backend/oss
Creating debug/Debug/SoloudStatic/src/core
Creating debug/Debug/SoloudStatic/src/filter
soloud_monotone.cpp
soloud_openmpt.cpp
soloud_openmpt_dll.c
soloud_sfxr.cpp
darray.cpp
klatt.cpp
resonator.cpp
soloud_speech.cpp
tts.cpp
sid.cpp
soloud_tedsid.cpp
ted.cpp
soloud_vic.cpp
soloud_wav.cpp
soloud_wavstream.cpp
stb_vorbis.c
soloud_alsa.cpp
soloud_null.cpp
soloud_oss.cpp
soloud.cpp
soloud_audiosource.cpp
soloud_bus.cpp
soloud_core_3d.cpp
soloud_core_basicops.cpp
soloud_core_faderops.cpp
soloud_core_filterops.cpp
soloud_core_getters.cpp
soloud_core_setters.cpp
soloud_core_voicegroup.cpp
soloud_core_voiceops.cpp
soloud_fader.cpp
soloud_fft.cpp
soloud_fft_lut.cpp
soloud_file.cpp
soloud_filter.cpp
soloud_thread.cpp
soloud_bassboostfilter.cpp
soloud_biquadresonantfilter.cpp
soloud_dcremovalfilter.cpp
soloud_echofilter.cpp
soloud_fftfilter.cpp
soloud_flangerfilter.cpp
soloud_lofifilter.cpp
Creating ../../lib
Archiving SoloudStatic
==== Building SoloudDynamic (debug) ====
Creating debug/Debug/SoloudDynamic
Creating debug/Debug/SoloudDynamic/src/c_api
soloud_c.cpp
Linking SoloudDynamic
==== Building c_test (debug) ====
Creating debug/Debug/c_test
Creating debug/Debug/c_test/demos/c_test
Creating debug/Debug/c_test/src/c_api
main.c
soloud_c.cpp
Linking c_test
/usr/bin/ld: ../../lib/libsoloud_static.a(soloud_openmpt_dll.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
c_test.make:120: recipe for target '../../bin/c_test' failed
make[1]: *** [../../bin/c_test] Error 1
Makefile:36: recipe for target 'c_test' failed
make: *** [c_test] Error 2

I think that's because a -ldl flag is missing somewhere. Where can I add it to get building working?

zacharycarter commented 7 years ago

You can open up the makefile and add -ldl here : https://gist.github.com/zacharycarter/eb423f62f22c6d6c4ab4004ff69b6454#file-solouddynamic-make-L61 and the library should build on linux.