Ok, static libraries require the -ffat-lto-objects on the compiler command line when doing LTO builds. Easiest solution: expand the _lto_cflags definition: %if "%{?_lto_cflags}" != "" %global _lto_cflags %{_lto_cflags} -ffat-lto-objects %endif If we'd shipped the object directly in the RPM this problem would have occurred immediately as the object would have been subject to stripping during install post-processing. In this case, the objects would not have destroyed reproducibility. Since this would have caused all sorts of warnings, the entire test suite was wrapped in a tar ball which we extract when installing the package.