MFH: r458224

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)
Approved by:	ports-secteam blanket
This commit is contained in:
Jan Beich 2018-01-06 06:01:14 +00:00
parent ba2cc16229
commit 13221b9561
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q1/; revision=458226

View file

@ -37,6 +37,7 @@ CMAKE_ARGS+= -DAQUARIA_DEFAULT_DATA_DIR="${DATADIR}" \
-DAQUARIA_INTERNAL_TINYXML2=off \
-DAQUARIA_INTERNAL_ZLIB=off
LDFLAGS+= -Wl,--as-needed # avoid overlinking (vorbis deps)
LLD_UNSAFE= yes # XXX ports/219089
SUB_FILES= pkg-message
PLIST_FILES= bin/aquaria
PORTDATA= *