[patch] krb5 HEAD fails to build on RHEL5/Linux/IA64 with $ configure --enable-static --disable-shared # ...
Greg Hudson
ghudson at mit.edu
Tue Sep 2 12:48:07 EDT 2014
On 09/02/2014 12:30 PM, Roland Mainz wrote:
>> This is too broad. libm should not be a linker dependency of krb5kdc
>> and kadmind for non-static builds or when the system libverto is used.
>
> Well... libverto needs libm ...
Only the in-tree libverto needs libm (because it includes an embedded
libev). And with shared linking, you neither need nor want to list the
dependencies of a library when linking against it.
> ... but that was exactly the motivation why I wanted to fix the static build - almost all of the (static) analyzer/instrumentation software (minus the original "lint") need a "whole view" of all the sources to be able to analyze the code properly with *ALL* interdependencies... and so far none of them (e.g. tested with Sun Studio's XIPO, Coverity or gcc/clang -flto) can deal with compiled shared libraries (*.a archives are fine because the precompiled source code is embedded in special ELF chunks or (in the case of "clang") the *.o files in the archives are compiler-specific bytecode; creating shared libraries (*.so) will cause the linker to strip this information).
Coverity works fine without static linking.
The other tools you listed appear to be for whole-program optimization
at link time. Unless someone can document substantial benefits from
using link-time optimization with the Kerberos tree, I don't think it
warrants the additional build system complexity.
More information about the krbdev
mailing list