Here's a simple longterm effect (not sure if it'll matter to you): most popular render engines are build with ABI 3 compatibility. Redshift and RenderMan both use 3.1.0, Arnold I think uses 4.0.2 with 3 compatibility, and Houdini uses 3.3.0, which is a customized 4.x build with 3 compatibility. All using ABI3, so if you want to be able to render in a DCC package with a non proprietary engine, you might want that flag back on ;)
In better news, I've taken another stab at getting the OpenVDB Maya plugin statically setup. Even though it comes out as a shared object, it looks like if the standard libopenvdb.* was scripted with static libraries in mind it'll carry over. For example, I used to need libboost_iostreams.so.1.61.0, libboost_system.so.1.61.0, and libHalf.so.23. I just rebuilt and now I don't need libHalf! Here's my build script:
https://pastebin.com/WeEUmBVCIf I try adding in "-D Boost_USE_STATIC_LIBS=ON \", the build fails pretty early on:
/usr/bin/ld: /home/mroche/sw/vfx/boost/1.61/lib/libboost_iostreams.a(file_descriptor.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/mroche/sw/vfx/boost/1.61/lib/libboost_iostreams.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [openvdb/libopenvdb.so.4.0.2] Error 1
make[1]: *** [openvdb/CMakeFiles/openvdb_shared.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Why this error occurs, I don't know considering I export CFLAGS="-fPIC" and CXXFLAGS="-fPIC" before I start building any of the libraries, so that configuration should have been included. So for now I still need those two boost libraries in LD_LIBRARY_PATH while Maya loads.
Cheers,
Mike