I’m currently evaluating raytracing engines for potential inclusion in a larger program (linked or runtime loaded). One worry I have is subtle load/link errors when Appleseed uses a different version of a library than the one I use in the main program. I’ve run into some very difficult bugs in the past where code in a plugin used its own allocator but a deallocator in the main program due to version conflicts.
When I look at the precompiled release, the windows Appleseed dll only seems to export its own symbols (checked with dependency walker). But on mac, each dependency has its own .so file. My tech knowledge on mac is much weaker than on windows, doesn’t this open the door for dependency hell problems? I know Appleseed is used in a lot of big projects so I feel this issue should have been solved and I’m probably missing something.
Can someone confirm that on Mac (and Linux), it’s safe to use the Appleseed shared library with other code that uses different versions of the same dependencies?
Thanks in advance,