Hi, Guillaume!
On Oct 31, Guillaume Lefranc wrote:
> Hi Sergei,
>
> I have no doubts about that, however, do you have any comments on the
> error above? It only happens when using those cmake options.
> The same is encountered when compiling on Mac OS X.
>
> I can't tell why it would fail on MY_WME which is literally everywhere.
I have not the slightest idea how it could be possible.
I can only tell you how to find it out.
This command:
make GenError && cd extra/mariabackup && make changed_page_bitmap.i
repeat with this cmake config below (that fails to build) and with some
other config (that succeeds). Look at the generated file
CMakeFiles/mariabackup.dir/changed_page_bitmap.cc.i
Grep it for MY_WME, see what's included, diff it from two builds, see
why one of them defines MY_WME and the other doesn't.
And, when you solve it, please, do tell what it was :)
> > > $ cmake . -DPLUGIN_MROONGA=NO -DPLUGIN_TOKUDB=NO -DPLUGIN_SPHINX=NO
> > > -DPLUGIN_ROCKSDB=NO
> > > $ make
> >
> > > This fails with the following errors:
> > > [ 98%] Building CXX object
> > > extra/mariabackup/CMakeFiles/mariabackup.dir/changed_page_bitmap.cc.o
> > > In file included from
> > > /home/tanj/mariadb-10.2/storage/innobase/include/univ.i:83:0,
> > > from
> > > /home/tanj/mariadb-10.2/storage/innobase/include/ut0rbt.h:29,
> > > from
> > > /home/tanj/mariadb-10.2/extra/mariabackup/changed_page_bitmap.h:28,
> > > from
> > > /home/tanj/mariadb-10.2/extra/mariabackup/changed_page_bitmap.cc:25:
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h: In function ‘size_t
> > > xb_read_full(File, uchar*, size_t)’:
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h:162:45: error:
> > ‘MY_WME’
> > > was not declared in this scope
> > > tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
> > > ^
> > > /home/tanj/mariadb-10.2/include/my_global.h:1025:24: note: in definition
> > of
> > > macro ‘MYF’
> > > #define MYF(v) (myf) (v)
> > > ^
> > > In file included from
> > > /home/tanj/mariadb-10.2/extra/mariabackup/changed_page_bitmap.cc:27:0:
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h:162:12: error:
> > ‘my_read’
> > > was not declared in this scope
> > > tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
> > > ^~~~~~~
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h:162:12: note:
> > suggested
> > > alternative: ‘my_sha1’
> > > tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
> > > ^~~~~~~
> > > my_sha1
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h:163:32: error:
> > > ‘MY_FILE_ERROR’ was not declared in this scope
> > > if (tbytes == 0 || tbytes == MY_FILE_ERROR) {
> > > ^~~~~~~~~~~~~
> > > /home/tanj/mariadb-10.2/extra/mariabackup/common.h:163:32: note:
> > suggested
> > > alternative: ‘DB_IO_ERROR’
> > > if (tbytes == 0 || tbytes == MY_FILE_ERROR) {
> > > ^~~~~~~~~~~~~
> > > DB_IO_ERROR
> > > make[2]: ***
> > [extra/mariabackup/CMakeFiles/mariabackup.dir/build.make:111:
> > > extra/mariabackup/CMakeFiles/mariabackup.dir/changed_page_bitmap.cc.o]
> > > Error 1
> > > make[2]: *** Waiting for unfinished jobs....
> > > make[1]: *** [CMakeFiles/Makefile2:4270:
> > > extra/mariabackup/CMakeFiles/mariabackup.dir/all] Error 2
> > > make[1]: *** Waiting for unfinished jobs....
> > > [ 98%] Built target mysqld
> > > [ 98%] Built target explain_filename-t
> > > make: *** [Makefile:163: all] Error 2
Regards,
Sergei
Chief Architect MariaDB
and security@mariadb.org