mkmf генерирует странный Makefile

Когда я строю драгоценный камень с родными привязками C, я получаю это предупреждение:

ld: warning: directory not found for option '-L/Users/travis/.sm/pkg/active/lib'

Я нашел в сгенерированном Makefile эти строки:

CFLAGS   = $(CCDLFLAGS) -O3 -I/Users/travis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.6 -pipe -std=c99 -Wall -ggdb -O2 $(ARCH_FLAG)
..
ldflags  = -L. -L/Users/travis/.sm/pkg/active/lib -fPIC -Bstatic -fstack-protector -lpthread

Имя пользователя моей системы не travisЯ также не указал, что в extconf.rb,

Также нашел эту проблему: https://github.com/flori/json/issues/207

1 ответ

Решение

/Users/travis фактически происходит от предварительно скомпилированного ruby, который устанавливает rvm, начиная с версии 2.1.0. Если вы ищите эту строку в.rvm / rubies / или в вашей директории установки ruby, вы найдете ее там. Я считаю, что предупреждение безвредно.

Если окажется, что это не безвредно или вы просто хотите избавиться от него, сборка ruby ​​локально, а не использование предварительно скомпилированного бинарного файла, должна исправить это за вас.

Другие вопросы по тегам