Skip to content

Duplicate json symbols on static builds

Hi,

It seems that symbols for json are duplicated now:

Link static libs together using libtool
ld: warning: passed two min versions (9.0, 9.0) for platform iOS. Using 9.0.
ld: warning: arm64 function not 4-byte aligned: _merge8_arm_sve from /Users/unidan/Workspace/VLCKit/libvlc/vlc/build-iphoneos-arm64/build/modules/.libs/libdeinterlace_plugin.a(merge_sve.o)
ld: warning: arm64 function not 4-byte aligned: _merge16_arm_sve from /Users/unidan/Workspace/VLCKit/libvlc/vlc/build-iphoneos-arm64/build/modules/.libs/libdeinterlace_plugin.a(merge_sve.o)
duplicate symbol '_json_parse' in:
    /Users/unidan/Workspace/VLCKit/libvlc/vlc/build-iphoneos-arm64/build/modules//.libs/libvlc_json.a(libvlc_json_la-grammar.o)
    /Users/unidan/Workspace/VLCKit/libvlc/vlc/build-iphoneos-arm64/build/modules/.libs/libfingerprinter_plugin.a(libfingerprinter_plugin_la-json.o)
ld: 1 duplicate symbol for architecture arm64

The build here is a custom branch rebased on master, but the issue would remain on current master.

I'd suggest to rename the new json parser functions by prefixing them with vlc_ to workaround this issue in the short term, and potentially remove the other implementation in the long term.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information