On Fri, 2018-07-20 at 21:16 -0400, Paul Smith wrote: > Now my question is: I see that when I run ldd on my program it lists > /lib64/libstdc++ as a prerequisite. Will the -static-libstdc++ option > in my program be sufficient to satisfy the code in the ICU shared > library? Or will it now actually try to load the system libstdc++, for > ICU, in addition to the one statically linked into my program? > > I'm not sure how the linkage will be resolved here. Or, is there a way > to find out (some utility which will show me how the runtime linker > will set it up)? Maybe someone on the binutils list might know? A quick test appears to reveal that no, the shared libraries will not take advantage of the version of libstdc++ which is statically linked with the main program. Attempting to run my program on older systems now results in: bin/myprog: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ../lib64/libicui18n.so.62) Hm. Bummer.