Похоже, это связано с использованием ~
для указания домашнего каталога.Оболочка расширяет ~
до пути вашего домашнего каталога, если это первый символ слова.Когда mkmf
создает командную строку для вызова компилятора для проверки существования библиотеки, он указывает каталог для вызова, используя опцию -L
, и в итоге он выглядит как -L~/test/lib
, и поэтому не раскрывается.Вы должны увидеть это в файле mkmf.log
.
Исправление состоит в том, чтобы избежать использования символа ~
в пути к каталогу или обеспечить его расширение до использования в вызове компилятору..
Вы можете сделать это, изменив dir_config('','~/test')
на:
dir_config('', File.expand_path('~/test'))