Компиляция MySQL Workbench на Fedora 21

2430
sherzodr

Я пытался скомпилировать mysql-workbench из исходного кода (так как репозиторий fedora 21 в mysql до сих пор не имеет его). Установлены все зависимости, как рекомендовано во многих онлайн-источниках. В настоящее время я застрял в следующем сообщении об ошибке и не уверен, что делать дальше. Может кто-нибудь помочь мне?

[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! 

Кстати, я также пытался установить Fedora 20 об / мин и пакет RedHat; они оба устанавливаются нормально, но набор результатов пуст. Так что перекомпиляция из исходного кода - это единственный вариант, который у меня есть.

Спасибо

2

5 ответов на вопрос

2
sherzodr

Я наконец успешно скомпилировал mysql-workbench 6.2.4 на Fedora 21 после нескольких дней попыток. Я подтверждаю, что это работает. Сетки в наборах результатов больше не пусты.

Предложение @ Brady об использовании antlr-3.5.2-complete.jar у меня не сработало. Вместо этого потребовался antlr-3.4.2-complete.jar. В противном случае будут сгенерированы несовместимые заголовочные файлы (что является причиной ошибок, связанных с кодом C MySQLLexer. Все остальные предложения Брэди ДОЛЖНЫ быть успешными, включая обновления исходного кода, относящиеся к: recordset_text_storage.cpp.

@ lorelogo's был на правильном пути, но чтобы продолжить его предложение, мне также пришлось удалить все заголовочные файлы, сгенерированные antlr-3.5.2-complete.jar (они находятся не в папке wb-build /, а внутри родитель). Переход к antlr-3.4.2-complete.jar в середине не является исправлением, поскольку он не создает заново файлы заголовков заново. Для меня было проще просто извлечь исходный архив mysql-workbench заново и начать все сначала.

Если у вас не установлен ctemplate 2.2 (который недоступен в репозиториях fc21), вы начнете получать другие ошибки компиляции, обычно связанные с отсутствующими определениями типов ctemplate / template.h или Ctemplate :: *. ВАЖНО получить ctemplate 2.2 с https://code.google.com/p/ctemplate/downloads/list и скомпилировать его самостоятельно. Но так как mysql-workbench ищет файл ctemplate.so.2 в / usr / lib64 /, а "make install" установил его в мою папку / usr / local / lib, я создал символические ссылки в моем / usr / lib64, выполнив

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

Последний шаг не потребовался для успешной компиляции. Но без этого шага скомпилированная рабочая среда не запускается (так как она пыталась загрузить /usr/lib64/libctemplate.so.2).

хотя сейчас я использую mysql-workbench, мне трудно игнорировать все предупреждения от GLib-GObject-WARNING. Я мог бы попытаться понизить glib и посмотреть, исправит ли это.

Возможно, я забыл несколько других шагов, которые мне пришлось предпринять, чтобы исправить это, так как эта борьба продолжалась неделю. Просто опубликуйте свои проблемы, с которыми вы столкнулись. Это может помочь мне вспомнить другие детали.

Спасибо всем. Я не смог бы сделать это без тебя!

0
Marco

Для ошибки Antlr она исчезла для меня, используя следующий двоичный файл: antlr-3.5.2-complete.jar .
Вы можете найти его на странице загрузок ANTLR v3 .

Это не сработало для меня с указанным 3.4-полным бинарным файлом.
После загрузки в нужное вам место, попробуйте ввести команду, например:

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

Для ошибки gnome-keyring (s), простое

sudo yum install libgnome-keyring-devel 

следует сделать.

Кроме того, перед этим не забудьте следовать патч- решению, как в предыдущем ответе, чтобы избавиться от устаревшей функции (если вы этого еще не сделали).

Брейди, спасибо, ты сделал меня на шаг ближе. Я достиг шага "сделать". Но пока он генерировал объект MySQLLexer.co, он пошел не так, как надо: [7%] Сборка библиотеки объектов C / mysql.parser / CMakeFiles / mysqlparser.dir / MySQLLexer.co /home/sherzodr/Downloads/mysql-workbench-community-6.2 .4-src / library / mysql.parser / MySQLLexer.c: 15976: 45: ошибка: здесь не указано «_empty» (не в функции) dfa11_T1, dfa11_T2, dfa11_T3, dfa11_T4, _empty, _empty, dfa11_T4, dfa11 sherzodr 9 лет назад 0
0
Brady

Downloading the JAR file did not fully work for me. It got me through the cmake step for mysql-workbench but once I started to compile with make I hit a lot of errors associated with antlr.

I found that antlr is in the Fedora 21 repositories that ships with the distro. This allowed me to start compiling the mysql-workbench. Start... but did not finish as there is some C code issues I am now confronted with outside of the subject here.

sudo yum install antlr-tool antlr3-java 
0
lorelogo

I solved the issue in this way on OpenSuse 13.1 64bit:

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

If you can't resolve, try to remove the wb-build directory and its content and rerun cmake. Let we know!

0
Hooks ZHang

Пакет RPM для Fedora 21 64-bit (mysql-workbench-community-6.2.5-1.fc21.x86_64.rpm) теперь доступен на официальной странице загрузок MySQL:

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