From: nobu@... Date: 2014-12-29T02:29:53+00:00 Subject: [ruby-core:67191] [ruby-trunk - Bug #10656] [Third Party's Issue] mkmf have_func fails if Ruby is compiled with static libruby Issue #10656 has been updated by Nobuyoshi Nakada. Status changed from Open to Third Party's Issue `$LIBS` is cleared at https://github.com/phusion/passenger/blob/master/ext/ruby/extconf.rb#L24. ---------------------------------------- Bug #10656: mkmf have_func fails if Ruby is compiled with static libruby https://bugs.ruby-lang.org/issues/10656#change-50672 * Author: Hongli Lai * Status: Third Party's Issue * Priority: Normal * Assignee: * Category: * Target version: current: 2.2.0 * ruby -v: varies * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- If Ruby is compiled with static libruby, then mkmf have_func calls will fail. This is because have_func tries to compile a binary, passing -lruby-static to the compiler. However this fails because binary also needs to be linked to a bunch of libraries that ruby-static.a depends on, such as -lm, -lrt, -ldl etc. See [Phusion Passenger bug 1314 comment 68140592](https://github.com/phusion/passenger/issues/1314#issuecomment-68140592) for details and for an mkmf.log. Users who have a static libruby are unable to use the Phusion Passenger native extension, because a `have_func('rb_thread_call_without_gvl')` failed where it should have succeeded. -- https://bugs.ruby-lang.org/