Auf Fedora 21 habe ich die Frama-C Aluminium Distribution von der Quelle kompiliert, nachdem ich alle Voraussetzungen installiert hatte. Meine Version von OCaml ist 4.02.3. Frama-C und die Frama-C GUI funktionieren gut. Ich versuche, Abschnitt 2.3, "Das ViewCfg-Plug-In" von Frama-C Plug-In Development Guide zu folgen. in Abschnitt 2.3.4, "Erweitern des Frama-C GUI" Allerdings, nachdem ich die GUI-Erweiterung Code und führen Sie es mit dem "-load-Skript" Option hinzufügen, erhalte ich die folgende Meldung:Frama-C Aluminium "Unbound Modul GMenu"
File "cfg_print.ml", line 87, characters 19-43:
Error: Unbound module GMenu
[kernel] user error: compilation of 'cfg_print.ml' failed
Zeilen 86-87 lesen:
let cfg_selector
(popup_factory:GMenu.menu GMenu.factory) main_ui ~button:_ localizable =
Ich googelte "ungebundenes Modul gmenu", aber nichts nützliches gefunden. Diesen Fehler habe ich auch nie bei der Verwendung der Neon- und Natriumversionen von Frama-C kennengelernt. Interessanterweise, wenn ich diesen Abschnitt überspringe und Abschnitt 2.3.5, "Dateien teilen und ein Makefile schreiben" befolge, bekomme ich nicht mehr die Nachricht "Unbound Modul GMenu", und das Beispiel funktioniert gut.
Wenn ich raten musste, wenn ich die Option "-load-script" verwende, kann Frama-C (oder meine Version von OCaml, was auch immer der Fall sein mag) die Gtk-Bibliotheken aus irgendeinem Grund nicht finden. Aber wenn ich make verwende, kann OCaml die Gtk-Bibliotheken finden. Gibt es möglicherweise etwas falsch mit der Art, wie ich Frama-C und/oder die Gtk-Bibliotheken installiert habe? Wie kann ich das überprüfen, oder noch wichtiger, wie kann ich das beheben?
Jetzt bin ich „ocamlopt.opt bekommen -Paket'." gefolgt von einer Liste von ocamlopt-Optionen. Irgendeine Idee, was ist jetzt falsch? – gsp
Das ist seltsam: 'ocamlopt.opt' sollte nie aufgerufen werden. Stattdessen sollte "ocamlfind ocaml" verwendet werden. Ist ocamlfind installiert und verwendet, um Frama-C zu kompilieren. (Es sollte, aber man weiß nie.) – byako
Ocaflind ist installiert. Ich habe './configure && make && sudo make install' verwendet, um Frama-C zu kompilieren und zu installieren, aber leider habe ich die Ausgabe nicht gespeichert, daher weiß ich nicht, ob ocamlfind verwendet wurde, um Frama-C zu kompilieren. Ich habe immer noch config.log. Würde das helfen? – gsp