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 локально, а не использование предварительно скомпилированного бинарного файла, должна исправить это за вас.