-
Notifications
You must be signed in to change notification settings - Fork 229
Bugs
mattalbright edited this page Aug 12, 2010
·
23 revisions
When I try to install the curb-0.2.4.0 gem on 64 bit CentOS, I get:
# gem install ./curb-0.2.4.0.gem
Building native extensions. This could take a while...
ERROR: Error installing ./curb-0.2.4.0.gem:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb install ./curb-0.2.4.0.gem
checking for curl-config... yes
checking for curlinfo_redirect_time... yes
checking for curlinfo_response_code... yes
checking for curlinfo_filetime... yes
checking for curlinfo_redirect_count... yes
checking for curlinfo_os_errno... yes
checking for curlinfo_num_connects... yes
checking for curlinfo_ftp_entry_path... yes
checking for curl_version_ssl... yes
checking for curl_version_libz... yes
checking for curl_version_ntlm... yes
checking for curl_version_gssnegotiate... yes
checking for curl_version_debug... yes
checking for curl_version_asynchdns... yes
checking for curl_version_spnego... yes
checking for curl_version_largefile... yes
checking for curl_version_idn... yes
checking for curl_version_sspi... yes
checking for curl_version_conv... yes
checking for curlproxy_http... yes
checking for curlproxy_socks4... yes
checking for curlproxy_socks5... yes
checking for curlauth_basic... yes
checking for curlauth_digest... yes
checking for curlauth_gssnegotiate... yes
checking for curlauth_ntlm... yes
checking for curlauth_anysafe... yes
checking for curlauth_any... yes
checking for curle_tftp_notfound... yes
checking for curle_tftp_perm... yes
checking for curle_tftp_diskfull... yes
checking for curle_tftp_illegal... yes
checking for curle_tftp_unknownid... yes
checking for curle_tftp_exists... yes
checking for curle_tftp_nosuchuser... yes
creating curb_config.h
creating Makefile
make
Makefile:123: warning: overriding commands for target `/usr/lib/ruby/gems/1.8/gems/curb-0.2.4.0/lib'
Makefile:121: warning: ignoring old commands for target `/usr/lib/ruby/gems/1.8/gems/curb-0.2.4.0/lib'
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fPIC -Wall -c curb_easy.c
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fPIC -Wall -c curb_postfield.c
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fPIC -Wall -c curb_multi.c
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fPIC -Wall -c curb_errors.c
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fPIC -Wall -c curb.c
gcc -shared -L"/usr/lib64" -o curb_core.so curb_easy.o curb_postfield.o curb_multi.o curb_errors.o curb.o -lruby -lpthread -ldl -lcrypt -lm -lc -L/usr/kerberos/lib64 -lcurl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -lidn -lssl -lcrypto -lz
/usr/bin/ld: skipping incompatible /usr/lib/libgssapi_krb5.so when searching for -lgssapi_krb5
/usr/bin/ld: skipping incompatible /usr/lib/libgssapi_krb5.a when searching for -lgssapi_krb5
/usr/bin/ld: cannot find -lgssapi_krb5
collect2: ld returned 1 exit status
make: *** [curb_core.so] Error 1
I can fix it by creating a bunch of missing /usr/lib64/foo.so files (by linking to the /usr/lib64/foo.so.x files), but it seems like there’s something that can be done to the build/install config to fix it. Did Redhat/CentOS really screw up and omit all the symbolic links for all those libraries? I had to create links for gssapi_krb5, krb5, com_err, ssl, crypto, and z.
ruby-1.8.5-5.el5_2.3
curl and curl-devel 7.15.5-2.el5
This is what I receive when require the lib:
Explain the problem.
>> require 'rubygems' => false >> require 'curb' LoadError: no such file to load -- curb_core from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' from /Library/Ruby/Gems/1.8/gems/taf2-curb-0.2.3/ext/curb.rb:5 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' from (irb):2 </pre>
Ruby – ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
Curl – curl 7.16.3
Curb – 0.2.3Status: Unknown
Please include the output of ruby ext/extconf.rb, most likely this means you don’t have libcurl installed correctly.
Sample:
Explain the problem.
Here goes your code</pre>
Give version of ruby, curb and curl.Status: