marekrost / mysql-workbench-debian-patch

A patch that enables building MySQL Workbench from source code when using MariaDB development libraries.
GNU General Public License v3.0
0 stars 0 forks source link

MariaDB - Debian 11 - without MySQL installed #1

Open pazbores opened 2 years ago

pazbores commented 2 years ago

In my system I have not installed MySQL, just only MariaDB. I install your patch well and follow all your instructions. I run cmake and get the warning you've noticed, run cmake again and all seems to be ok. But when I run make get an error I that can't resolve.

This is what I've got: `root@debian11:/etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src/wb-build# cmake -DCMAKE_INSTALL_PREFIX=/etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src/wb-build -DWITH_ANTLR_JAR=/etc/mysql/MySQL_Workbench -S/etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src CMake Deprecation Warning at CMakeLists.txt:47 (cmake_policy): The OLD behavior for policy CMP0078 will be removed from a future version of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD.

ANTLR4 INCLUDE DIR: /usr/include/antlr4-runtime ANTLR4 LIB DIR: -L/usr/lib/x86_64-linux-gnu -lantlr4-runtime ERROR Unable to detect MySQLCppConn version CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to find_package_handle_standard_args (VSQLITE) does not match the name of the calling package (VSqlite). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): build/cmake/Modules/FindVSqlite.cmake:51 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:84 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

VSQLITE INCLUDE DIR: /usr/include VSQLITE LIB DIR: -L/usr/lib/x86_64-linux-gnu -lvsqlitepp CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to find_package_handle_standard_args (unixODBC) does not match the name of the calling package (UNIXODBC). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): build/cmake/Modules/FindUNIXODBC.cmake:29 (find_package_handle_standard_args) CMakeLists.txt:94 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

Found unixodbc, using it as ODBC library. WITH_ANTLR_JAR: /etc/mysql/MySQL_Workbench CMake Warning at CMakeLists.txt:160 (message): antlr-4.9.1-complete.jar or java runtime wasn't found which is required if you'd like to rebuild Lexer and Parser files

Found Scintilla Version: 4.1.5 -- Configuring done -- Generating done -- Build files have been written to: /etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src/wb-build root@debian11:/etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src/wb-build# make Consolidate compiler generated dependencies of target wbbase [ 2%] Built target wbbase [ 3%] Building CXX object library/grt/src/CMakeFiles/grt.dir/grt.cpp.o /etc/mysql/MySQL_Workbench/mysql-workbench-community-8.0.26-src/library/grt/src/grt.cpp:38:10: fatal error: cppconn/exception.h: No existe el fichero o el directorio 38 | #include <cppconn/exception.h> | ^~~~~ compilation terminated. make[2]: [library/grt/src/CMakeFiles/grt.dir/build.make:76: library/grt/src/CMakeFiles/grt.dir/grt.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:1975: library/grt/src/CMakeFiles/grt.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 `

yurii-github commented 2 years ago

I was building from source repo in Debian 11, but I guess it works the same way from source zip file.

in the file /home/yurii/mysql-workbench/build/cmake/Modules/FindMySQLCppConn.cmake add new line to override location

set(MySQLCppConn_INCLUDE_DIR "/usr/include/mysql-cppconn-8/jdbc")  <--------- ADD THIS TO OVERRIDE
set(MySQLCppConn_HEADER_FILE ${MySQLCppConn_INCLUDE_DIR}/cppconn/version_info.h)