Subject: [ruby-ffi] Re: FFI 1.0.6 fails to compile |
From: Quintus |
Date: 4/9/11 6:32 AM |
To: ruby-ffi |
I just found out that Ruby 1.8 gives a more descriptive error message: =================================== $ sudo LANG=en_US.utf8 gem18 install ffi Building native extensions. This could take a while... ERROR: Error installing ffi: ERROR: Failed to build gem native extension. /opt/rubies/ruby-1.8.7-p334/bin/ruby18 extconf.rb checking for ffi_call() in -lffi... yes checking for ffi_prep_closure()... yes checking for ffi_raw_call()... yes checking for ffi_prep_raw_closure()... yes checking for rb_thread_blocking_region()... no checking for ruby_thread_has_gvl_p()... no checking for ruby_native_thread_p()... no checking for rb_thread_call_with_gvl()... no creating extconf.h creating Makefile make gcc -I. -I. -I/opt/rubies/ruby-1.8.7-p334/lib/ruby/1.8/x86_64-linux - I. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -fPIC -I/usr/lib/ libffi-3.0.9/include -Wno-declaration-after-statement -c DataConverter.c In file included from /usr/include/linux/param.h:4:0, from /usr/include/sys/param.h:28, from ./endian.h:4, from /usr/include/bits/waitstatus.h:65, from /usr/include/stdlib.h:43, from /opt/rubies/ruby-1.8.7-p334/lib/ruby/1.8/x86_64- linux/ruby.h:40, from DataConverter.c:2: /usr/include/asm/param.h:1:31: fatal error: asm-generic/param.h: No such file or directory compilation terminated. make: *** [DataConverter.o] Error 1 Gem files will remain installed in /opt/rubies/ruby-1.8.7-p334/lib/ ruby/gems/1.8/gems/ffi-1.0.7 for inspection. Results logged to /opt/rubies/ruby-1.8.7-p334/lib/ruby/gems/1.8/gems/ ffi-1.0.7/ext/ffi_c/gem_make.out =================================== The informative part is this one: /usr/include/asm/param.h:1:31: fatal error: asm-generic/param.h: No such file or directory I saw a similar error when I compiled my Ruby, and wondered why various asm files are missing from my system. Since that day I had to compile my Ruby with "CFLAGS=-I/usr/src/linux-2.6.37-ARCH/include" appended to it, which worked but seemed ugly to me. Any clue on what is broken on my system? Vale, Quintus