2016-04-13 6 views
2

Ich versuche, ein benutzerdefiniertes Systembild von Julia zu kompilieren, um das Laden einiger Bibliotheken, besonders Gadfly, zu beschleunigen. Ich versuchte the docs tutorial, aber Julia beschwert sich über undefinierte Pfade (es macht mich jede einzelne Bibliothek erfordern) und nach der Verknüpfung aller über nicht definierte Variablen STDOUT und STDERR. Wenn ich keine userimg.jl Datei verwende, funktioniert die Kompilation perfekt.System Bild Gebäude in Julia

Ich versuchte zunächst, eine userimg.jl Datei mit nur

include("/home/clavero/.julia/v0.4/Gadfly/src/Gadfly.jl") 

aber es beschwerten sich über Bibliotheken nicht in Pfad, mit Fehlermeldungen wie

Base.ArgumentError(msg="Codecs not found in path") 

so begann ich, über 30 Bibliotheken in der richtigen Reihenfolge, einschließlich nur um die Fehler über STDERR und STDOUT zu erreichen.

Ich führe Julia als root, um Schreibberechtigung in den benötigten Dateien zu haben, und im root REPL homedir() gibt mir /root, so vermute ich, ist ein Pfadproblem.

Wie kann ich ein benutzerdefiniertes Bild mit Gadfly darin erzeugen? Habe ich den Führer falsch verstanden?

Antwort

3

Weil Julia 0.4 unterstützt Paket Precompilation, für mich laden Gadfly (mit using Gadfly) ist nicht so schlimm, sicherlich nicht so ein großes Problem wie die JIT-Verzögerung bei der Erstellung der ersten Handlung. So einfach Gadfly über userimg.jl bauen wird nicht viel helfen.

Sie können jedoch Vorkompilierungsanweisungen hinzufügen, um die Verzögerung zu eliminieren. Folgendes kann hilfreich sein: