FigBug / Wavetable

Wavetable synth
https://socalabs.com/synths/wavetable/
BSD 3-Clause "New" or "Revised" License
145 stars 11 forks source link

Add PIC to fix linking on Linux #2

Closed KottV closed 1 year ago

KottV commented 1 year ago

Hi,

plain compilation on Linux (openSUSE TW) gives an error:

[ 16%] Built target Wavetable_Assets
[ 50%] Built target Wavetable
[ 61%] Built target Wavetable_Standalone
[ 62%] Linking CXX shared module Wavetable_artefacts/Release/VST/libWavetable.so
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libWavetable_Assets.a(unity_0_cxx.cxx.o): relocation R_X86_64_32S against hidden symbol `_ZN10BinaryData17namedResourceListE' can not be used when making a shared object
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/Wavetable_VST.dir/build.make:213: Wavetable_artefacts/Release/VST/libWavetable.so] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:272: CMakeFiles/Wavetable_VST.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2

Looks like a binary assets should in Position Independent form: set (CMAKE_POSITION_INDEPENDENT_CODE ON)

then all goes fine.