Назад | Перейти на главную страницу

Использование gcc вместо SUNWspro cc в ruby ​​mkmf для yajl на Solaris 10

Как заставить mkmf использовать gcc вместо / opt / SUNWspro / bin / cc в Solaris 10?

Я пытаюсь установить Chef с помощью gem install chef. Это не удается:

Building native extensions.  This could take a while...
ERROR:  Error installing chef:
    ERROR: Failed to build gem native extension.

    /opt/csw/bin/ruby18 extconf.rb
creating Makefile

make
/opt/SUNWspro/bin/cc -I. -I/opt/csw/lib/ruby/1.8/i386-solaris2.9 -I/opt/csw/lib/ruby/1.8 /i386-solaris2.9 -I. -I/opt/csw/include -D_FILE_OFFSET_BITS=64  -KPIC -xO3 -m32 -xarch=386  -KPIC  -Wall -funroll-loops  -c yajl.c
make: /opt/SUNWspro/bin/cc: Command not found
make: *** [yajl.o] Error 127


Gem files will remain installed in /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2 for inspection.
Results logged to /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2/ext/yajl/gem_make.out

Изучение /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2/ext/yajl/Makefile дает:

CC = /opt/SUNWspro/bin/cc

Важно отметить, что установка переменной среды CC на gcc абсолютно ничего не дает.

Кросс опубликован из Переполнение стека

Вы экспортировали CC после его определения?

CC=/usr/sfw/bin/gcc
export CC

Затем запустите свой файл mkmf.

Edit - hacky - создать ссылку

mkdir -p /opt/SUNWspro/bin/
ln -s /usr/sfw/bin/gcc /opt/SUNWspro/bin/cc

Обратите внимание, что я также «исправил» путь в CC = выше, поскольку теперь gcc находится в / usr / sfw.

Если ваш пакет CSWruby является текущим (похоже, так как двоичный файл - ruby18), вы можете использовать альтернативный механизм для переключения на rbconfig.rb, который настроен на использование / opt / csw / gcc4 / bin / gcc вместо солнца. компилятор. Если он не совсем актуален, на некоторое время была включена утилита cswrbconfig, которая позволяла переключаться между компиляторами. Я забыл, какую версию пакета я добавил, но эта функция доступна уже больше года, если не изменяет память.

Если у вас есть дополнительные вопросы о CSWruby (или других пакетах OpenCSW), обратитесь к сопровождающим в #opencsw на freenode irc.

(Я сопровождаю OpenCSW ruby.)

Отредактируйте Makefile и измените переменную CC на свой двоичный файл gcc, затем повторите попытку.

Есть ли шаг ./configure? Если это так, вы можете попробовать установить переменную CC env перед ее запуском.