Comments - 64bit compile of MariaDB 10.0.21 for Solaris 10 (sparc)

8 years, 6 months ago Vladislav Vaintroub

This gcc must just be too old (version 3.3 possibly?). There was gcc 4 on Solaris 10, too, possibly as optional component, and this is what you should be using instead.

 
8 years, 6 months ago Vladislav Vaintroub

"this gcc" is /usr/sfw/bin/gcc , which you are using for compilation. To switch compiler, you can either set CC and CXX env.variable before running cmake, or pass CMAKE_C_COMPILER and CMAKE_CXX_COMPILER parameters to cmake

 
8 years, 6 months ago Isaac Geller

Little change with GCC 4, I'm afraid. This is where it still breaks.

[ 18%] Building C object mysys/CMakeFiles/mysys.dir/my_atomic.c.o
In file included from /opt/install/mariadb-10.0.21/mysys/my_atomic.c:16:0:
/opt/install/mariadb-10.0.21/mysys/my_atomic.c: In function ‘my_atomic_initialize’:
/opt/install/mariadb-10.0.21/include/my_global.h:417:18: error: size of array ‘compile_time_assert’ is negative
     typedef char compile_time_assert[(X) ? 1 : -1] __attribute__((unused)); \
                  ^
/opt/install/mariadb-10.0.21/mysys/my_atomic.c:30:3: note: in expansion of macro ‘compile_time_assert’
   compile_time_assert(sizeof(intptr) == sizeof(void *));
   ^
*** Error code 1
The following command caused the error:

Just out of curiosity I changed the line in question to always return 1. A little later in compilation, I got countless errors regarding intptr losing precision. Changing the code to use intptr_t gets rid of the error, but I'm afraid the ramifications of doing that all over the place are way above my understanding. This is one of the lines that threw this error. It comes from storage/perfschema/pfs_global.h

value= (reinterpret_cast<intptr> (ptr)) >> 3;
 
8 years, 6 months ago Vladislav Vaintroub

Re: 64bit compile of MariaDB 10.0.21 for Solaris 10 (sparc) I guess you had configured the build for 32 bits, but somehow got your settings changed to 64 bit builds, with some manual work I guess .

please check the definition of SIZEOF_LONG , SIZEOF_VOIDP , SIZEOF_CHARP , SIZEOF_SIZE_T constants in my_config.h . They should be 8 in your case. My advice would be to dump the BUILD scripts entirely, and just do pure cmake, and a build from scratch, and do not build in the source directory. The whole procedure could look similar to the below

  • cd /path/to/mariadb10_source
  • mkdir bld
  • cd bld
  • export CFLAGS=-m64
  • export CXXFLAGS=-m64
  • export CC=/path/to/gcc4
  • export CXX=/path/to/g++4
  • cmake ..
  • make

Thats it, this will create an optimized build, you might not really want -DBUILD_CONFIG=mysql_release

 
8 years, 6 months ago Isaac Geller

First of all, thank you so much for your help thus far. This last bit of advice got me to 87%! However, that's where the things broke again. Below is a rather lengthy snippet of make VERBOSE=1 output that fails

[ 87%] Building CXX object storage/connect/CMakeFiles/connect.dir/filamvct.cpp.o
cd /opt/install/mariadb-10.0.21/bld/storage/connect && /opt/csw/bin/g++  -m64  -DFORCE_INIT_OF_VARS -DHAVE_CONFIG_H -DHAVE_RWLOCK_T -DHUGE_SUPPORT -DLIBXML2_SUPPORT -DLINUX -DMARIADB -DMYSQL_DYNAMIC_PLUGIN -DPIVOT_SUPPORT -DUBUNTU -DUNIX -DXMAP -DZIP_SUPPORT -Dconnect_EXPORTS -m64  -fno-exceptions -fno-rtti -fpermissive -fexceptions -fPIC  -O2 -g -DNDEBUG -DDBUG_OFF -fPIC -I/opt/install/mariadb-10.0.21/bld/include -I/opt/install/mariadb-10.0.21/include -I/opt/install/mariadb-10.0.21/sql -I/opt/install/mariadb-10.0.21/bld/pcre -I/opt/install/mariadb-10.0.21/pcre -I/opt/install/mariadb-10.0.21/extra/yassl/include -I/opt/install/mariadb-10.0.21/extra/yassl/taocrypt/include -I/usr/include/libxml2    -Wall -Wmissing-declarations -Wno-write-strings -Wno-unused-variable -Wno-unused-value -Wno-unused-function -Wno-parentheses -o CMakeFiles/connect.dir/filamvct.cpp.o -c /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:23: error: ‘char* strerror(int)’ conflicts with a previous declaration
 char *strerror(int num);
                       ^
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: previous declaration ‘char* std::strerror(int)’
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VCTFAM::MakeEmptyFile(PGLOBAL, char*)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:401:68: error: call of overloaded ‘strerror(int&)’ is ambiguous
   sprintf(g->Message, MSG(MAKE_EMPTY_FILE), To_File, strerror(errno));
                                                                    ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:401:68: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VCTFAM::WriteBuffer(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:730:75: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(WRITE_STRERROR), To_File, strerror(errno));
                                                                           ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:730:75: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VCTFAM::DeleteRecords(PGLOBAL, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:843:66: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(TRUNCATE_ERROR), strerror(errno));
                                                                  ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:843:66: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VCTFAM::MoveIntermediateLines(PGLOBAL, bool*)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:941:65: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(READ_SEEK_ERROR), strerror(errno));
                                                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:941:65: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:965:66: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(WRITE_SEEK_ERR), strerror(errno));
                                                                  ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:965:66: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:970:67: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(DEL_WRITE_ERROR), strerror(errno));
                                                                   ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:970:67: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:998:65: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(DEL_WRITE_ERROR), strerror(errno));
                                                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:998:65: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VCTFAM::CleanUnusedSpace(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1040:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(WRITE_SEEK_ERR), strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1040:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1045:65: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(DEL_WRITE_ERROR), strerror(errno));
                                                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1045:65: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1062:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(WRITE_SEEK_ERR), strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1062:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1067:65: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(DEL_WRITE_ERROR), strerror(errno));
                                                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1067:65: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VCTFAM::ReadBlock(PGLOBAL, PVCTCOL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1222:57: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(FSEEK_ERROR), strerror(errno));
                                                         ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1222:57: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1234:38: error: call of overloaded ‘strerror(int&)’ is ambiguous
               To_File, strerror(errno));
                                      ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1234:38: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VCTFAM::WriteBlock(PGLOBAL, PVCTCOL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1273:57: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(FSEEK_ERROR), strerror(errno));
                                                         ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1273:57: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1285:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
             (UseTemp) ? To_Fbt->Fname : To_File, strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1285:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1288:47: error: call of overloaded ‘strerror(int&)’ is ambiguous
       htrc("Write error: %s\n", strerror(errno));
                                               ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1288:47: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VCMFAM::DeleteRecords(PGLOBAL, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1695:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(TRUNCATE_ERROR), strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:1695:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VECFAM::WriteBuffer(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2176:75: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(WRITE_STRERROR), To_File, strerror(errno));
                                                                           ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2176:75: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VECFAM::DeleteRecords(PGLOBAL, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2281:66: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(TRUNCATE_ERROR), strerror(errno));
                                                                  ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2281:66: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VECFAM::MoveIntermediateLines(PGLOBAL, bool*)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2386:67: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(READ_SEEK_ERROR), strerror(errno));
                                                                   ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2386:67: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2402:66: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(WRITE_SEEK_ERR), strerror(errno));
                                                                  ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2402:66: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2407:65: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(DEL_WRITE_ERROR), strerror(errno));
                                                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2407:65: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VECFAM::RenameTempFile(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2456:51: error: call of overloaded ‘strerror(int&)’ is ambiguous
                 filename, filetemp, strerror(errno));
                                                   ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2456:51: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2460:51: error: call of overloaded ‘strerror(int&)’ is ambiguous
                 tempname, filename, strerror(errno));
                                                   ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2460:51: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2465:41: error: call of overloaded ‘strerror(int&)’ is ambiguous
                 filetemp, strerror(errno));
                                         ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2465:41: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VECFAM::ReadBlock(PGLOBAL, PVCTCOL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2566:57: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(FSEEK_ERROR), strerror(errno));
                                                         ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2566:57: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2585:33: error: call of overloaded ‘strerror(int&)’ is ambiguous
               fn, strerror(errno));
                                 ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2585:33: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool VECFAM::WriteBlock(PGLOBAL, PVCTCOL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2622:59: error: call of overloaded ‘strerror(int&)’ is ambiguous
       sprintf(g->Message, MSG(FSEEK_ERROR), strerror(errno));
                                                           ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2622:59: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2637:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(WRITE_STRERROR), fn, strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2637:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2640:47: error: call of overloaded ‘strerror(int&)’ is ambiguous
       htrc("Write error: %s\n", strerror(errno));
                                               ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2640:47: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int VMPFAM::DeleteRecords(PGLOBAL, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2995:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
         sprintf(g->Message, MSG(TRUNCATE_ERROR), strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:2995:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘bool BGVFAM::BigRead(PGLOBAL, HANDLE, void*, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3118:60: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(READ_ERROR), fn, strerror(errno));
                                                            ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3118:60: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘bool BGVFAM::BigWrite(PGLOBAL, HANDLE, void*, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3172:64: error: call of overloaded ‘strerror(int&)’ is ambiguous
     sprintf(g->Message, MSG(WRITE_STRERROR), fn, strerror(errno));
                                                                ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3172:64: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool BGVFAM::MakeEmptyFile(PGLOBAL, char*)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3409:68: error: call of overloaded ‘strerror(int&)’ is ambiguous
   sprintf(g->Message, MSG(MAKE_EMPTY_FILE), To_File, strerror(errno));
                                                                    ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3409:68: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool BGVFAM::OpenTableFile(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3601:38: error: call of overloaded ‘strerror(int&)’ is ambiguous
     strcat(g->Message, strerror(errno));
                                      ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3601:38: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual int BGVFAM::DeleteRecords(PGLOBAL, int)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3910:66: error: call of overloaded ‘strerror(int&)’ is ambiguous
           sprintf(g->Message, MSG(TRUNCATE_ERROR), strerror(errno));
                                                                  ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3910:66: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp: In member function ‘virtual bool BGVFAM::OpenTempFile(PGLOBAL)’:
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3973:38: error: call of overloaded ‘strerror(int&)’ is ambiguous
     strcat(g->Message, strerror(errno));
                                      ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:3973:38: note: candidates are:
In file included from /usr/include/string.h:18:0,
                 from /opt/install/mariadb-10.0.21/storage/connect/global.h:9,
                 from /opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:51:
/usr/include/iso/string_iso.h:68:14: note: char* std::strerror(int)
 extern char *strerror(int);
              ^
/opt/install/mariadb-10.0.21/storage/connect/filamvct.cpp:70:7: note: char* strerror(int)
 char *strerror(int num);
       ^
*** Error code 1
make: Fatal error: Command failed for target `storage/connect/CMakeFiles/connect.dir/filamvct.cpp.o'
Current working directory /opt/install/mariadb-10.0.21/bld
*** Error code 1
make: Fatal error: Command failed for target `storage/connect/CMakeFiles/connect.dir/all'
Current working directory /opt/install/mariadb-10.0.21/bld
*** Error code 1
make: Fatal error: Command failed for target `all'
 
8 years, 6 months ago Vladislav Vaintroub

this looks like a bug in connect engine, though I do not really understand the error message. you can file a bug , and temporarily disable connect storage engine by doing

cmake .. -DWITH_CONNECT_STORAGE_ENGINE=0

in the build directory.

 
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.