Unfortunately, when ADIOS is linked into the application as a static library (libadios.a) and TAU is linked as a shared object (libTAUsh.so), the adiost_tool() symbol is not replaced by the strong definition, unless the symbol is left undefined. We have to link with libTAUsh.so in order for the SOS TAU plugin to work correctly. Clang is the only compiler that isn't happy with an undefined weak symbol.
There's probably a better way to implement this in ADIOS2, to prevent these kinds of problems...
Unfortunately, when ADIOS is linked into the application as a static library (libadios.a) and TAU is linked as a shared object (libTAUsh.so), the adiost_tool() symbol is not replaced by the strong definition, unless the symbol is left undefined. We have to link with libTAUsh.so in order for the SOS TAU plugin to work correctly. Clang is the only compiler that isn't happy with an undefined weak symbol.
There's probably a better way to implement this in ADIOS2, to prevent these kinds of problems...