VTK Array doesn't work correctly if it's used under Unreal Engine

When you compile VTK for your plugin, are the VTK libraries static or are they shared?

Also, when Unreal Engine loads the plugin, do you know whether it calls dlopen() with RTLD_GLOBAL or not?

As an old-timer with VTK, I know that in VTK 5 (around 10 years ago), VTK did not depend on RTTI at all. It implemented its own SafeDownCast() and IsA() methods that work fine even if compiler RTTI was disabled. However, very few developers are aware of the problems that RTTI can cause with plugins on Linux, so it’s likely that VTK 9 uses RTTI in many places.

I’m curious, what happens if you try to build VTK with RTTI disabled? Does it fail to build? Or does it build, but then fail when you try to use it (e.g. segfault)?

Edit: For anyone reading this, the issues with RTTI and dlopen() are described here:
https://gcc.gnu.org/faq.html#dso