gem install не может найти файл заголовка - PullRequest
1 голос
/ 06 января 2011

Следуя вдоль github README для talib_ruby:

sudo port install ta-lib

Выполнено.Затем начинается проблема.

sudo env ARCHFLAGS="-arch PLATFORM" gem install talib_ruby -- --with-talib-include=ABSOLUTE_PATH_TO_TALIB_HEADERS  --with-talib-lib=ABSOLUTE_PATH_TO_TALIB_LIBS

Эта установка завершается неудачно, я полагаю, потому что, очевидно, она не может найти файл ta_abstract.h

talib.c:2:25: error: ta_abstract.h: No such file or directory

.
.
.
many more errors

Я включил в свой файл .bash_profile следующее:

export ABSOLUTE_PATH_TO_TALIB_HEADERS=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/include/ta-lib
export ABSOLUTE_PATH_TO_TALIB_LIBS=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/lib

И действительно, файл ta_abstract.h находится там, где я говорю в назначении переменной ABSOLUTE_PATH.

Что дает?

ОБНОВЛЕНИЕ:

Когда ничего не помогает, может помочь переписка по электронной почте с автором драгоценного камня.Вместо экспорта ABSOLUTE_PATH он предлагает передать фактический путь при установке.Наряду с явным переходом в ARCHFLAGS = "- arch x86_64", который работает для Snow Leopard.Установка по-прежнему не удается, но теперь, потому что у него есть проблемы с файлом talib.c и некоторыми функциями в нем.

Ответы [ 3 ]

1 голос
/ 08 января 2011

Автор ответа на этот вопрос ответил по электронной почте, но я хотел бы поделиться решением.

sudo env ARCHFLAGS="-arch x86_64" gem install talib_ruby -- --with-talib-include=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/include/ta-lib  --with-talib-lib=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/lib

Важно отметить, что этот камень также не совместим с Ruby 1.9.2. Из того, что сгенерировал список ошибок, у него были некоторые проблемы с определением struct RObject (заполните Object с помощью String, Array и т. Д.), Которое я проследил до заголовочного файла ruby.h. Если вы хотите использовать этот гем, вы можете установить rvm и набрать

rvm install ruby-1.8.7 --with-readline-dir=/opt/local

Оттуда просто следуйте указаниям автора драгоценного камня с указанными выше данными.

ОБНОВЛЕНИЕ: автор гема сделал talib_ruby совместимым с 1.9.x, поэтому больше не нужно устанавливать 1.8.7

0 голосов
/ 25 января 2012

Просто добавив ответ на brew, установленный ta-lib.

env ARCHFLAGS = "- arch x86_64" gem install talib_ruby - --with-talib-include = / usr / local / include / ta-lib --with-talib-lib = / usr / local / lib

0 голосов
/ 07 января 2011

Обратите внимание

sudo echo $ABSOLUTE_PATH_TO_TALIB_HEADERS

echo ABSOLUTE_PATH_TO_TALIB_HEADERS

have included in **my** .bash_profile file the following:

sudo

Вы root?

поместите env vars в командную строку, и вы должны быть хороши, в качестве альтернативы добавьте их в env root.

...