games/aquaria: unbreak with LLD by default

Linking with LLD currently fails due to preemption of symbols with
protected visibility in a shared object:

/usr/bin/ld: error: cannot preempt symbol: alGetSourcei
>>> defined in /usr/local/lib/libopenal.so
>>> referenced by BBGE/FmodOpenALBridge.cpp
>>>               CMakeFiles/aquaria.dir/BBGE/FmodOpenALBridge.cpp.o:(OggDecoder::decode_loop(OggDecoder*))

/usr/bin/ld: error: cannot preempt symbol: alSourceUnqueueBuffers
>>> defined in /usr/local/lib/libopenal.so
>>> referenced by BBGE/FmodOpenALBridge.cpp
>>>               CMakeFiles/aquaria.dir/BBGE/FmodOpenALBridge.cpp.o:(OggDecoder::decode_loop(OggDecoder*))
[...]

For now set LLD_UNSAFE=yes so that the port will continue to link with
ld.bfd if /usr/bin/ld is lld, until the issue can be addressed (with a
change in openal-soft or in lld).

Reported by:	antoine (via bug 214864)
This commit is contained in:
Jan Beich 2018-01-06 05:58:42 +00:00
parent ae514f7521
commit 92c3792abf
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=458224

View File

@ -37,6 +37,7 @@ CMAKE_OFF= AQUARIA_INTERNAL_FREETYPE \
AQUARIA_INTERNAL_TINYXML2 \
AQUARIA_INTERNAL_ZLIB
LDFLAGS+= -Wl,--as-needed # avoid overlinking (vorbis deps)
LLD_UNSAFE= yes # XXX ports/219089
SUB_FILES= pkg-message
PLIST_FILES= bin/aquaria
PORTDATA= *