0

我正在尝试安装 ruby​​-ldap 但它不起作用。

尝试安装 libsasl2-dev 和 libldap-dev 没有帮助。

尝试过apt-get install ruby-ldap的宝石会忽略它。

尝试删除/var/lib/gems/1.9.1/gems/ruby-ldap*&/var/lib/gems/1.9.1/cache/ruby-ldap*并重新安装没有帮助。

有人有类似的问题吗?

# gem install ruby-ldap
Fetching: ruby-ldap-0.9.12.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing ruby-ldap:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
--with-openldap2
checking for ldap.h... yes
checking for lber.h... yes
checking for ldap_ssl.h... no
checking for openssl/ssl.h... yes
checking for openssl/crypto.h... yes
checking for main() in -lcrypto... yes
checking for main() in -lssl... yes
checking for main() in -lnsl... yes
checking for main() in -lpthread... yes
checking for main() in -lresolv... yes
checking for main() in -llber... yes
checking for main() in -lldap_r... yes
checking for main() in -lldap... yes
checking for ldap_init() in ldap.h... yes
checking for ldap_set_option()... yes
checking for ldap_get_option()... yes
checking for ldap_start_tls_s()... yes
checking for ldap_memfree()... yes
checking for ldap_perror()... yes
checking for ldap_sort_entries()... yes
checking for ldapssl_init()... no
checking for ldap_sslinit()... no
checking for ldap_sasl_bind_s()... yes
checking for ldap_compare_s()... yes
checking for ldap_add_ext_s()... yes
checking for ldap_compare_ext_s()... yes
checking for ldap_delete_ext_s()... yes
checking for ldap_modify_ext_s()... yes
checking for ldap_search_ext_s()... yes
checking for ldap_unbind_ext_s()... yes
checking for ldap_sasl_interactive_bind_s()... yes
creating Makefile

make
compiling saslconn.c
saslconn.c: In function ‘rb_ldap_conn_sasl_bind’:
saslconn.c:178:7: error: format not a string literal and no format arguments [-Werror=format-security]
saslconn.c:200:7: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors
make: *** [saslconn.o] Error 1
4

1 回答 1

2

您的gcc编译器似乎对警告太生气了。您是否会尝试在编译期间不执行格式检查:

gem install ruby-ldap -- --with-cflags=\"-Wformat=0\" 

后者应该覆盖CFLAGSruby-ldap维护人员提供的默认值,并停止将格式警告视为错误。如果这没有帮助,您总是可以下载 的源代码ruby-ldap,找到Makefile本地扩展并-Werror=format-security从那里删除字符串。

希望能帮助到你。

于 2013-04-02T06:04:28.637 回答