编译当前的Kerberos版本时错误在哪里?

问题描述

我当前正在尝试编译MIT Kerberos的krb5-1.18.2版本。不幸的是,我遇到了一个我无法解决错误。我已经通过Oracle Linux 6的存储库安装了这组开发人员工具。使用./configure命令,我没有注意到任何错误

这是我make遇到的错误

rc_file2.c: In function ‘k5_rcfile2_store’:
rc_file2.c:146: error: ‘r1stamp’ may be used uninitialized in this function
rc_file2.c:146: note: ‘r1stamp’ was declared here
rc_file2.c:146: error: ‘r2stamp’ may be used uninitialized in this function
rc_file2.c:146: note: ‘r2stamp’ was declared here
At top level:
cc1: warning: unrecognized command line option "-Wno-maybe-uninitialized"
make[3]: *** [rc_file2.so] Error 1
make[3]: Leaving directory `/home/vagrant/krb5-1.18.2/src/lib/krb5/rcache'
make[2]: *** [all-recurse] Error 1
make[2]: Leaving directory `/home/vagrant/krb5-1.18.2/src/lib/krb5'
make[1]: *** [all-recurse] Error 1
make[1]: Leaving directory `/home/vagrant/krb5-1.18.2/src/lib'
make: *** [all-recurse] Error 1

当然,从软件包存储库加载Kerberos很容易,但是不幸的是,这在目标环境中是不可能的。目前它是出于练习目的。并避免以后发生此类故障。

解决方法

应该通过将标志 -Wno-uninitialized 传递给构建来解决。这可以使用参数 CFLAGS 来配置。所以它会是:

./configure CFLAGS=-Wno-uninitialized