Wrt.: https://community.oracle.com/thread/3775362 Thanx Steve, linking explicitly against the c++ related libs works. I tried -### before and saw that those libs get added automagically, and -staticlib=... does what I want (except for gcc_s), but that was for an executable, yes. That's why I assumed, -std=... behaves like -library=sunperf. Anyway, I tried to re-package related SW and must conclude: it is a really, really, really aweful, very very, very time consuming and dirty job, to make zdefs happy: The problem is, neither cmake nor autoconf crap, which gets used by most SW today, have a CLI aka "configure" flag or env var, which allows one to put such flags at the end of the linker cmd. Usually they all do $CC $CPPFLAGS $CXXFLAGS $LDFLAGS [$SONAME_FLAGS] *.o . If one searches long enough, one probably finds out, that one can put something like target_link_libraries(graphite2 "-lstdc++ -lgcc_s -lm -lc -Bstatic -lCrunG3") into the CMakeLists.txt, but forget it wrt. the crazy autoconf/libtool stuff. The crazy libtool stuff even sorts out, reorders such options so even if one adds -Bdynamic after G3 it still blows up the build. So the result of the link behavior is, that it is impossible to build SW in a clean way. One has to take the really dirty way and has to modify/patch the build system (cmake files, Makefile.am or the result of it) or even the tools (e.g. libtool even on Solaris) to get the job done, because this special CC doesn't get it baked properly. So since most SW today uses [un]intentionally >= c++03 features (and one does not really want/is able to port it back to < c++03), I think, most people probably drop CC and get away with g++ unless it gets fixed: if std=c++{03|11} are given, CC should IMHO always add -lstdc++ -lgcc_s -lCrunG3 add to the final resulting cmd, AND if -staticlib=a[,b]... is given, it should embbed the corresponding lib[s] into a -Bstatic -Bdynamic "frame". All three libs should be allowed - g++ has even a special flag named -static-libgcc, why not studio CC? BTW: Couldn't find anything about CrunG3. Is there any documentation about it? Why shouldn't it by statically linked in? Do these <100? bytes really hurt?