2011-01-06 6 views
1

Nach entlang der Github README für talib_ruby finden:gem install können keine Header-Datei

sudo port install ta-lib 

abgeschlossen. Als nächstes beginnt das Problem. Diese

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 

installiert werden kann Ich glaube, weil anscheinend kann es nicht die ta_abstract.h Datei finden

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

. 
. 
. 
many more errors 

ich in meiner .bash_profile-Datei enthalten sind die folgenden:

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 

Und in der Tat die ta_abstract.h Datei befindet sich, wo ich in der ABSOLUTE_PATH Variablenzuweisung sage.

Was gibt?

UPDATE:

Wenn alles andere fehlschlägt, E-Mail-Korrespondenz mit dem Edelstein Autor helfen können. Anstatt ABSOLUTE_PATH zu exportieren, schlägt er vor, den tatsächlichen Pfad mit der Installation zu übergeben. Zusammen mit der expliziten Übergabe von ARCHFLAGS = "- arch x86_64", was für Snow Leopard funktioniert. Die Installation schlägt immer noch fehl, aber jetzt, weil sie Probleme mit der talib.c-Datei und bestimmten Funktionen darin hat.

Antwort

2

Die Antwort auf diese Frage wurde vom Edelstein-Autor per E-Mail beantwortet, aber ich möchte die Lösung teilen.

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 

Es ist wichtig zu beachten, dass dieses Juwel auch nicht kompatibel mit Ruby 1.9.2 ist. Von dem, was die Fehlerliste erzeugte, hatte es einige Probleme mit der Definition von struct RObject (fülle Objekt mit String, Array, usw. aus), das ich auf die ruby.h-Headerdatei zurückverfolgte. Wenn Sie dieses Juwel verwenden möchten, können Sie rvm installieren und dann

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

Von dort geben, folgen Sie einfach die Anleitung aus dem Edelstein Autor mit dem Eingang oben aufgeführt sind.

UPDATE: der Edelstein Autor hat talib_ruby kompatibel mit 1.9.x gemacht, so gibt es keine Notwendigkeit mehr 1.8.7

0

Beobachten

sudo echo $ABSOLUTE_PATH_TO_TALIB_HEADERS

echo ABSOLUTE_PATH_TO_TALIB_HEADERS

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

sudo

Sie root sind?

Setzen Sie die env vars in die Befehlszeile und Sie sollten gut sein, alternativ fügen Sie sie zu root env.

+0

Ich werde dieses Kunststück in Kürze versuchen. – Milktrader

+0

Wenn ich das sudo echo $ ... in die Befehlszeile eintippe, bekomme ich den richtigen Pfad. Aber das Juwel Installation kann immer noch nicht die Header-Datei finden. Ich bekomme die gleichen Ergebnisse, wenn ich versuche, von ~/home oder von root zu installieren. Ich kann mich zwar nicht als su anmelden, aber ich denke, das ist ein OSX-Ding und kein Faktor hier, nein? – Milktrader

+0

$ sudo env liefert USER = root. – Milktrader

1

einfach zu installieren, ist das Hinzufügen einer Antwort für Gebräu ta-lib installiert.

env ARCHFLAGS = "- Bogen x86_64" Juwel talib_ruby installieren - --with-talib-include =/usr/local/include/talib --with-talib-lib =/usr/local/lib

Verwandte Themen