We were running into this error while running bundle install
on Ubuntu:
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile
make
Makefile:158: *** target pattern contains no `%'. Stop.
The confusing part was when we ran gem install ffi
it ran without a problem.
Googling around told us nothing about why ffi would be failing to build.
We had run across a post about QT where a similar error was encountered.
Then I found a StackOverflow question which references a GNU mailing list thread that explains the complete impossibility of make
being able to parse a Makefile containing colons.
It turns out we did have colons in the filename: We were using %T in the timestamps on our integration server, thus make
was choking.
The fix was simple, we just replaced the %T with a non-colon-delimited time string and everything worked just fine.
Done!
:A