Mysql-Workbench unter Fedora 21 kompilieren

2537
sherzodr

Ich habe versucht, die mysql-workbench aus dem Quellcode zu kompilieren (da das Fedora 21-Repo von mysql immer noch nicht verfügbar ist). Installierte alle Abhängigkeiten, wie in vielen Online-Quellen empfohlen. Momentan stecke ich bei der folgenden Fehlermeldung fest und bin nicht sicher, wie ich vorgehen soll. Kann mir bitte jemand helfen?

[root@localhost wb-build]# cmake .. -DBUILD_CONFIG=mysql_release -- C/C++ version 1.1.4+: TRUE -- C/C++ version 1.1.5+: 1 Found iodbc, using it as ODBC library. - checking for module 'gnome-keyring-1' -- package 'gnome-keyring-1' not found -- checking for module 'gnome-keyring' -- package 'gnome-keyring' not found Using bundled Antlr C runtime Generating mysql.parser files... The antlr-3.4-complete.jar file could not be found. Please make sure that linux-res is in /home/sherzodr/Downloads or add the ANTLR_JAR_PATH enviroment variable with the path to the file. You'll also need Java Runtime Enviroment installed, so the parser files can be regenerated. CMake Error at library/mysql.parser/grammar/CMakeLists.txt:9 (message): Generating mysql.parser files failed with result='1'  -- Configuring incomplete, errors occurred! 

Ich habe übrigens auch versucht, Fedora 20 rpm und ein RedHat-Paket zu installieren. Beide installieren gut, aber die Ergebnismenge ist leer. Das Neukompilieren aus dem Quellcode ist also die einzige Option, die ich habe.

Vielen Dank

2

5 Antworten auf die Frage

2
sherzodr

Ich habe mysql-workbench 6.2.4 nach einigen Tagen des Versuchs erfolgreich auf Fedora 21 kompiliert. Ich bestätige, dass es funktioniert. Raster in Ergebnissätzen sind nicht mehr leer.

@ Bradys Vorschlag, antlr-3.5.2-complete.jar zu verwenden, hat für mich nicht funktioniert. Stattdessen wurde antlr-3.4.2-complete.jar benötigt. Andernfalls würden inkompatible Header-Dateien generiert (was die Ursache für Fehler im Zusammenhang mit MySQLLexers C-Code ist.) Alle anderen Vorschläge von Brady sind ein MUSS für den Erfolg.

@ lorelogo's war auf dem richtigen Weg, aber um seinen Vorschlag weiter auszudrücken, musste ich auch alle Header-Dateien entfernen, die von antlr-3.5.2-complete.jar generiert wurden (sie befinden sich nicht im Ordner wb-build /, sondern im Ordner Elternteil). Die Umstellung auf antlr-3.4.2-complete.jar in der Mitte ist kein Fix, da die Header-Dateien nicht erneut generiert werden. Für mich war es einfacher, das Quellarchiv der mysql-workbench einfach neu zu extrahieren und von vorne zu beginnen.

Wenn Sie ctemplate 2.2 nicht installiert haben (was in fc21-Repositorys nicht verfügbar ist), erhalten Sie andere Kompilierungsfehler, die normalerweise auf fehlende Typdefinitionen von ctemplate / template.h oder Ctemplate :: * zurückzuführen sind. Es ist WICHTIG, ctemplate 2.2 von https://code.google.com/p/ctemplate/downloads/list zu erhalten und selbst zu kompilieren. Aber da mysql-workbench in / usr / lib64 / ctemplate.so.2 sucht, aber durch "make install" in meinem Ordner / usr / local / lib installiert wurde, habe ich in meiner / usr / lib64 Symlinks erstellt

ln -s /usr/local/lib/libctemplate* . 

Der letzte Schritt war für mich nicht erforderlich, um erfolgreich zu kompilieren. Ohne diesen Schritt wird die kompilierte Workbench jedoch nicht gestartet (da versucht wurde, /usr/lib64/libctemplate.so.2 zu laden).

obwohl ich jetzt mysql-workbench verwende, ist es schwer für mich, alle Warnungen von GLib-GObject-WARNING zu ignorieren. Ich könnte versuchen, Glibre herabzustufen und zu sehen, ob sich das korrigiert.

Es ist möglich, dass ich einige andere Schritte vergessen habe, die ich zur Behebung dieses Problems unternehmen musste, da dieser Kampf eine Woche andauerte. Posten Sie einfach Ihre Probleme, denen Sie gegenüberstehen. Es könnte mir helfen, mich an andere Details zu erinnern.

Danke an Alle. Ohne dich hätte ich es nicht geschafft!

0
Marco

Für den Antlr-Fehler wurde er für mich mit der folgenden Binärdatei ausgeblendet : antlr-3.5.2-complete.jar .
Sie finden es auf der ANTLR v3-Downloadseite .

Mit der angegebenen 3.4-vollständigen Binärdatei hat es nicht funktioniert.
Versuchen Sie nach dem Download an Ihrem bevorzugten Ort, einen Befehl wie den folgenden auszuführen:

ANTLR_JAR_PATH=/path/to/jar/antlr-3.5.2-complete.jar cmake -DBUILD_CONFIG=mysql_release 

Für den gnome-keyring (s) -Fehler ein einfacher

sudo yum install libgnome-keyring-devel 

sollte tun

Denken Sie auch vorher daran, die Patch- Lösung wie in dieser vorherigen Antwort zu befolgen, um die veraltete Funktion zu entfernen (falls Sie dies noch nicht getan haben).

Brady, danke, du bist mir einen Schritt näher gekommen. Ich habe den Schritt "Make" erreicht. Während das MySQLLexer.co-Objekt erstellt wurde, lief es jedoch schief: [7%] Erstellen der C-Objektbibliothek / mysql.parser / CMakeFiles / mysqlparser.dir / MySQLLexer.co /home/sherzodr/Downloads/mysql-workbench-community-6.2 .4-src / library / mysql.parser / MySQLLexer.c: 15976: 45: Fehler: '_empty' wurde hier nicht deklariert (nicht in einer Funktion) dfa11_T1, dfa11_T2, dfa11_T3, dfa11_T4, _empty, _empty, dfa11_T0, dfa11_T0 sherzodr vor 9 Jahren 0
0
Brady

Das Herunterladen der JAR-Datei hat für mich nicht vollständig funktioniert. Es brachte mich durch den cmake-Schritt für mysql-workbench, aber nachdem ich mit make kompiliert hatte, traf ich viele Fehler, die mit antlr verbunden waren.

Ich habe festgestellt, dass sich antlr in den Fedora 21-Repositories befindet, die mit der Distribution ausgeliefert werden. Dies erlaubte mir, die mysql-workbench zu kompilieren. Start ... aber nicht beendet, da es einige C-Code-Probleme gibt, mit denen ich jetzt außerhalb des Themas konfrontiert bin.

sudo yum install antlr-tool antlr3-java 
0
lorelogo

Ich habe das Problem auf OpenSuse 13.1 64bit auf diese Weise gelöst:

ANTLR_JAR_PATH=/path/to/jar/antlr-3.4-complete.jar cmake .. 

Wenn Sie das Problem nicht lösen können, versuchen Sie, das Verzeichnis wb-build und dessen Inhalt zu entfernen und cmake erneut auszuführen. Lass es uns wissen!

0
Hooks ZHang

Ein RPM-Paket für Fedora 21 64-Bit (mysql-workbench-community-6.2.5-1.fc21.x86_64.rpm) ist jetzt auf der offiziellen MySQL-Downloadseite verfügbar:

http://dev.mysql.com/downloads/workbench