Bug 36397 - love-11.1-alt1_3 allows to link with its own old bundled copies of liblz4 and libxxhash instead of system libraries
Summary: love-11.1-alt1_3 allows to link with its own old bundled copies of liblz4 and...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: love (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: viy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-26 02:01 MSK by Dmitry V. Levin
Modified: 2019-04-20 21:26 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry V. Levin 2019-03-26 02:01:00 MSK
This is especially bad because an application that does -llove -llz4 will
not be linked with liblz4 and will use liblz4 implementation from liblove
instead.

$ LC_ALL=C comm -12 <(/usr/lib/rpm/provided_symbols /lib64/liblz4.so.1) \
<(/usr/lib/rpm/provided_symbols /usr/lib64/liblove-11.1.so)
LZ4_compress
LZ4_compressBound
LZ4_compressHC
LZ4_compressHC2
LZ4_compressHC2_continue
LZ4_compressHC2_limitedOutput
LZ4_compressHC2_limitedOutput_continue
LZ4_compressHC2_limitedOutput_withStateHC
LZ4_compressHC2_withStateHC
LZ4_compressHC_continue
LZ4_compressHC_limitedOutput
LZ4_compressHC_limitedOutput_continue
LZ4_compressHC_limitedOutput_withStateHC
LZ4_compressHC_withStateHC
LZ4_compress_HC
LZ4_compress_HC_continue
LZ4_compress_HC_extStateHC
LZ4_compress_continue
LZ4_compress_default
LZ4_compress_destSize
LZ4_compress_fast
LZ4_compress_fast_continue
LZ4_compress_fast_extState
LZ4_compress_limitedOutput
LZ4_compress_limitedOutput_continue
LZ4_compress_limitedOutput_withState
LZ4_compress_withState
LZ4_create
LZ4_createHC
LZ4_createStream
LZ4_createStreamDecode
LZ4_createStreamHC
LZ4_decompress_fast
LZ4_decompress_fast_continue
LZ4_decompress_fast_usingDict
LZ4_decompress_fast_withPrefix64k
LZ4_decompress_safe
LZ4_decompress_safe_continue
LZ4_decompress_safe_partial
LZ4_decompress_safe_usingDict
LZ4_decompress_safe_withPrefix64k
LZ4_freeHC
LZ4_freeStream
LZ4_freeStreamDecode
LZ4_freeStreamHC
LZ4_loadDict
LZ4_loadDictHC
LZ4_resetStream
LZ4_resetStreamHC
LZ4_resetStreamState
LZ4_resetStreamStateHC
LZ4_saveDict
LZ4_saveDictHC
LZ4_setStreamDecode
LZ4_sizeofState
LZ4_sizeofStateHC
LZ4_sizeofStreamState
LZ4_sizeofStreamStateHC
LZ4_slideInputBuffer
LZ4_slideInputBufferHC
LZ4_uncompress
LZ4_uncompress_unknownOutputSize
LZ4_versionNumber
LZ4_versionString
Comment 1 Dmitry V. Levin 2019-03-26 23:10:10 MSK
Nothing in Sisyphus seems to be linking with -llove => not a blocker.
Comment 2 Dmitry V. Levin 2019-03-26 23:25:45 MSK
Not only liblz4 but also libxxhash:
$ LC_ALL=C comm -12 <(/usr/lib/rpm/provided_symbols /usr/lib64/libxxhash.so.0.6.5) \
<(/usr/lib/rpm/provided_symbols usr/lib64/liblove-11.1.so)
XXH32
XXH32_canonicalFromHash
XXH32_copyState
XXH32_createState
XXH32_digest
XXH32_freeState
XXH32_hashFromCanonical
XXH32_reset
XXH32_update
XXH64
XXH64_canonicalFromHash
XXH64_copyState
XXH64_createState
XXH64_digest
XXH64_freeState
XXH64_hashFromCanonical
XXH64_reset
XXH64_update
XXH_versionNumber
Comment 3 viy 2019-04-20 21:26:23 MSK
Note:

Upstream think of this as a feature :( 
also it was noted there (2014)
https://bitbucket.org/rude/love/issues/870/allow-for-shared-version-of-libraries

"Some of those libraries (box2d, luasocket, and ENet) have a bit of custom code
added to make them work better with LÖVE."

so before linking with system libraries we need to check their counterparts for custom code.