It seems the `deleters_` static variable (of a template class) is not
uniquified on some systems (where the symbols are `STB_GLOBAL`) when
using Java loadLibrary leading to the JAVA_HOST_LEVEL being the same
as another level.
On some systems, the symbols are `STB_GNU_UNIQUE` which purpose is to
avoid this kind of behaviour and the bug does not happen.
By using explicit instanciation, the `deleters_` variable is not
allocated in each shared-object but only in `libsimgrid.so`.
#include <simgrid/s4u/forward.hpp>
namespace simgrid {
+
+namespace xbt {
+extern template class XBT_PUBLIC() Extendable<simgrid::s4u::Host>;
+}
+
namespace s4u {
/** @brief Simulated machine that can host some actors
int USER_HOST_LEVEL;
namespace simgrid {
+
+namespace xbt {
+template class Extendable<simgrid::s4u::Host>;
+}
+
namespace s4u {
simgrid::xbt::signal<void(Host&)> Host::onCreation;