Our C++ application, running on Linux and compiled with gcc, loads dynamic libraries as 'plugins'. The code is well-established and runs fine with gcc 5.3.1. However, with gcc 7.3.0, library loading is failing at runtime. We get 'symbol not found' errors such as:
Failed to load <snip>/solibs/_gnuRelease/libLink.so
dlerror = <snip>: undefined symbol: _ZN24ChannelSelection7INVALIDE ( ChannelSelection::INVALID )
Failed to load <snip>/solibs/_gnuRelease/libBitTrue.so
dlerror = <snip>: undefined symbol: _ZTIN8StarLibs7LinkSim8StarFPGAE ( typeinfo for StarLibs::LinkSim::StarFPGA )
(Demangled symbol name is in parentheses).
Has anything changed in gcc 7.3.0 that might cause this?