Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
Current MariaDB 10.2 from GitHub source and configured like this:
cmake .. -DCMAKE_INSTALL_PREFIX=/Users/Valerii/dbs/maria10.2 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DTRACE=1
|
can not be compiled "as is" on macOS 10.13.6 High Sierra. It fails while compiling mysql.cc:
...
|
[ 99%] Linking CXX executable test_hash
|
[ 99%] Built target test_hash
|
[ 99%] Building CXX object client/CMakeFiles/mysql.dir/completion_hash.cc.o
|
[ 99%] Building CXX object client/CMakeFiles/mysql.dir/mysql.cc.o
|
/Users/Valerii/git/server/client/mysql.cc:1055:16: error: redefinition of
|
'_hist_entry'
|
typedef struct _hist_entry {
|
^
|
/opt/local/include/editline/readline.h:57:16: note: previous definition is here
|
typedef struct _hist_entry {
|
^
|
1 error generated.
|
make[2]: *** [client/CMakeFiles/mysql.dir/mysql.cc.o] Error 1
|
make[1]: *** [client/CMakeFiles/mysql.dir/all] Error 2
|
make: *** [all] Error 2
|
Yuliyas-Air:buildtmp Valerii$ sudo port list readline
|
readline @8.1.000 devel/readline
|
The following lame patch fixes the problem:
Yuliyas-Air:server Valerii$ git diff
|
diff --git a/client/mysql.cc b/client/mysql.cc
|
index 382c216f772..495e769d460 100644
|
--- a/client/mysql.cc
|
+++ b/client/mysql.cc
|
@@ -1052,10 +1052,12 @@ static const char *embedded_server_groups[]=
|
Need to redefine it for real readline to find it
|
*/
|
#if !defined(HAVE_HIST_ENTRY)
|
+/*
|
typedef struct _hist_entry {
|
const char *line;
|
const char *data;
|
-} HIST_ENTRY;
|
+} HIST_ENTRY;
|
+*/
|
#endif
|
 |
extern "C" int add_history(const char *command); /* From readline directory */
|
but there is no such problem with 10.1 or 10.3+ at all. So, it looks like something 10.2-specific related to readline check in cmake.