Search code examples
cgccshared-librariesld

gcc linker error: version node not found for symbol


I'm trying to build a shared library, and I get the following error:

libavformat.so: version node not found for symbol av_dup_packet@LIBAVFORMAT_52

ld: failed to set dynamic section sizes: Bad value

Does anybody knows what this error means? Host is i586-linux target is arm-linux

Edit: Resolved, see comments


Solution

  • It was caused by an inline assembly directive .symver. My solution was to manually modify the generated config.h to disable version nodes symbols.

    Check out internal.h lines 214-223