[MDEV-14590] oqgraph fails to build with boost 1.66 Created: 2017-12-05  Updated: 2018-04-23  Resolved: 2018-04-23

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Storage Engine - OQGRAPH
Affects Version/s: 10.1.29, 10.2.11, 10.3.5
Fix Version/s: 10.0.35

Type: Bug Priority: Major
Reporter: Bernard Spil Assignee: Vicențiu Ciorbaru
Resolution: Duplicate Votes: 0
Labels: None
Environment:

FreeBSD 11.1 amd64
clang 4.0.0
boost 1.66.0
Judy 1.0.5


Sprint: 10.2.12

 Description   

When building MariaDB 10.1.29 with OQGRAPH option enabled, a build-error occurs when boost 1.66.0 is installed

$ MAKE_JOBS_UNSAFE=yes make
===>  Building for mariadb101-server-10.1.29
[1/209] cd /usr/ports/databases/mariadb101-server/work/mariadb-10.1.29 && /usr/local/bin/cmake -P /usr/ports/databases/mariadb101-server/work/mariadb-10.1.29/c
make/info_src.cmake
[2/209] cd /usr/ports/databases/mariadb101-server/work/mariadb-10.1.29 && /usr/local/bin/cmake -P /usr/ports/databases/mariadb101-server/work/mariadb-10.1.29/$make/info_bin.cmake
[3/209] /usr/bin/c++  -DBOOST_DISABLE_ASSERTS=1 -DBOOST_NO_RTTI=1 -DBOOST_NO_TYPEID=1 -DHAVE_CONFIG_H -DHAVE_OQGRAPH -DMYSQL_DYNAMIC_PLUGIN -Doqgraph_EXPORTS $Iinclude -Isql -Ipcre -I/usr/local/include -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/inc$ude -DWITH_INNODB_DISALLOW_WRITES  -fno-rtti -Wno-deprecated -fno-strict-aliasing -fpermissive -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector $isystem /usr/local/include  -isystem /usr/local/include -DDBUG_OFF -fPIC -MD -MT storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o -MF storage/oqgraph/CMa$eFiles/oqgraph.dir/graphcore.cc.o.d -o storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o -c storage/oqgraph/graphcore.cc
FAILED: storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o
/usr/bin/c++  -DBOOST_DISABLE_ASSERTS=1 -DBOOST_NO_RTTI=1 -DBOOST_NO_TYPEID=1 -DHAVE_CONFIG_H -DHAVE_OQGRAPH -DMYSQL_DYNAMIC_PLUGIN -Doqgraph_EXPORTS -Iinclud$ -Isql -Ipcre -I/usr/local/include -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DW$TH_INNODB_DISALLOW_WRITES  -fno-rtti -Wno-deprecated -fno-strict-aliasing -fpermissive -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DDBUG_OFF -fPIC -MD -MT storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o -MF storage/oqgraph/CMakeFiles/$qgraph.dir/graphcore.cc.o.d -o storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o -c storage/oqgraph/graphcore.cc
In file included from storage/oqgraph/graphcore.cc:29:
In file included from storage/oqgraph/graphcore-graph.h:28:
In file included from storage/oqgraph/oqgraph_shim.h:28:
storage/oqgraph/oqgraph_judy.h:66:24: error: too few arguments provided to function-like macro invocation
        return setbit(n);
                       ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from storage/oqgraph/graphcore.cc:29:
In file included from storage/oqgraph/graphcore-graph.h:28:
In file included from storage/oqgraph/oqgraph_shim.h:28:
storage/oqgraph/oqgraph_judy.h:118:36: error: too few arguments provided to function-like macro invocation
    judy_bitset& setbit(size_type n);
                                   ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from storage/oqgraph/graphcore.cc:29:
In file included from storage/oqgraph/graphcore-graph.h:28:
In file included from storage/oqgraph/oqgraph_shim.h:28:
storage/oqgraph/oqgraph_judy.h:38:5: error: constructor for 'open_query::judy_bitset' must explicitly initialize the reference member 'setbit'
    judy_bitset()
    ^
storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
storage/oqgraph/oqgraph_judy.h:42:5: error: constructor for 'open_query::judy_bitset' must explicitly initialize the reference member 'setbit'
    judy_bitset(const judy_bitset& src)
    ^
storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
In file included from storage/oqgraph/graphcore.cc:29:
In file included from storage/oqgraph/graphcore-graph.h:28:
storage/oqgraph/oqgraph_shim.h:30:9: warning: 'BOOST_NO_HASH' macro redefined [-Wmacro-redefined]
#define BOOST_NO_HASH 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:307:14: note: previous definition is here
#     define BOOST_NO_HASH
             ^
In file included from storage/oqgraph/graphcore.cc:29:
In file included from storage/oqgraph/graphcore-graph.h:28:
storage/oqgraph/oqgraph_shim.h:31:9: warning: 'BOOST_NO_SLIST' macro redefined [-Wmacro-redefined]
#define BOOST_NO_SLIST 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:303:14: note: previous definition is here
#     define BOOST_NO_SLIST
             ^
2 warnings and 4 errors generated.
ninja: build stopped: subcommand failed.
*** Error code 1
 
Stop.

This error does not occur when we're building with boost 1.65.0



 Comments   
Comment by Bernard Spil [ 2017-12-05 ]

Same problem in 10.2.11

[ 71%] Building CXX object storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o
cd /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph && /usr/bin/c++  -DBOOST_DISABLE_ASSERTS=1 -DBOOST_NO_RTTI=1 -DBOOST_NO_TYPEID=1 -DHAVE_CONFIG_H -DHAVE_OQGRAPH -DMYSQL_DYNAMIC_PLUGIN -Doqgraph_EXPORTS -I/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/include -I/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/sql -I/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/pcre -I/usr/local/include -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -Wno-deprecated -fno-strict-aliasing -fpermissive -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DDBUG_OFF -fPIC -o CMakeFiles/oqgraph.dir/graphcore.cc.o -c /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:66:24: error: too few arguments provided to function-like macro
      invocation
        return setbit(n);
                       ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:118:36: error: too few arguments provided to function-like macro
      invocation
    judy_bitset& setbit(size_type n);
                                   ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:38:5: error: constructor for 'open_query::judy_bitset' must
      explicitly initialize the reference member 'setbit'
    judy_bitset()
    ^
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:42:5: error: constructor for 'open_query::judy_bitset' must
      explicitly initialize the reference member 'setbit'
    judy_bitset(const judy_bitset& src)
    ^
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore-graph.h:28:
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_shim.h:30:9: warning: 'BOOST_NO_HASH' macro redefined [-Wmacro-redefined]
#define BOOST_NO_HASH 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:307:14: note: previous definition is here
#     define BOOST_NO_HASH
             ^
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/graphcore-graph.h:28:
/usr/ports/databases/mariadb102-server/work/mariadb-10.2.11/storage/oqgraph/oqgraph_shim.h:31:9: warning: 'BOOST_NO_SLIST' macro redefined [-Wmacro-redefined]
#define BOOST_NO_SLIST 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:303:14: note: previous definition is here
#     define BOOST_NO_SLIST
             ^
2 warnings and 4 errors generated.
*** Error code 1
 
Stop.
make[4]: stopped in /usr/ports/databases/mariadb102-server/work/mariadb-10.2.11

Comment by Bernard Spil [ 2018-02-27 ]

And in 10.3.5

[ 60%] Built target myisammrg_embedded                                                                                                                                                                                                                        [15/1872]
/usr/bin/make -f storage/oqgraph/CMakeFiles/oqgraph.dir/build.make storage/oqgraph/CMakeFiles/oqgraph.dir/depend
cd /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5 /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph /usr/port
s/databases/mariadb103-server/work/mariadb-10.3.5 /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/CMakeFiles/oqgraph.dir/DependInfo.cmake --color=
/usr/bin/make -f storage/oqgraph/CMakeFiles/oqgraph.dir/build.make storage/oqgraph/CMakeFiles/oqgraph.dir/build
[ 60%] Building CXX object storage/oqgraph/CMakeFiles/oqgraph.dir/graphcore.cc.o
cd /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph && /usr/bin/c++  -DBOOST_DISABLE_ASSERTS=1 -DBOOST_NO_RTTI=1 -DBOOST_NO_TYPEID=1 -DHAVE_CONFIG_H -DHAVE_OQGRAPH -DMYSQL_DYNAMIC_PLUGIN -Doqgraph_EXPORTS -I/usr/ports/databases/mariadb10
3-server/work/mariadb-10.3.5/include -I/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/sql -I/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/pcre -I/usr/local/include -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasi
ng  -isystem /usr/local/include -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -Wno-deprecated -fno-strict-aliasing -fpermissive -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -DDBUG_OFF -fPIC -o CMakeFiles/oqgr
aph.dir/graphcore.cc.o -c /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:66:24: error: too few arguments provided to function-like macro invocation
        return setbit(n);
                       ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:118:36: error: too few arguments provided to function-like macro invocation
    judy_bitset& setbit(size_type n);
                                   ^
/usr/include/sys/param.h:285:9: note: macro 'setbit' defined here
#define setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
        ^
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore-graph.h:28:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_shim.h:28:
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:38:5: error: constructor for 'open_query::judy_bitset' must explicitly initialize the reference member 'setbit'
    judy_bitset()
    ^
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:42:5: error: constructor for 'open_query::judy_bitset' must explicitly initialize the reference member 'setbit'
    judy_bitset(const judy_bitset& src)
    ^
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_judy.h:118:18: note: declared here
    judy_bitset& setbit(size_type n);
                 ^
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore-graph.h:28:
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_shim.h:30:9: warning: 'BOOST_NO_HASH' macro redefined [-Wmacro-redefined]
#define BOOST_NO_HASH 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:307:14: note: previous definition is here
#     define BOOST_NO_HASH
             ^
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore.cc:29:
In file included from /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/graphcore-graph.h:28:
/usr/ports/databases/mariadb103-server/work/mariadb-10.3.5/storage/oqgraph/oqgraph_shim.h:31:9: warning: 'BOOST_NO_SLIST' macro redefined [-Wmacro-redefined]
#define BOOST_NO_SLIST 1
        ^
/usr/local/include/boost/config/detail/suffix.hpp:303:14: note: previous definition is here
#     define BOOST_NO_SLIST
             ^
2 warnings and 4 errors generated.
*** Error code 1
 
Stop.
make[4]: stopped in /usr/ports/databases/mariadb103-server/work/mariadb-10.3.5
*** Error code 1

Comment by Bernard Spil [ 2018-02-27 ]

Duplicate of MDEV-15291

Comment by Sergey Vojtovich [ 2018-04-23 ]

MDEV-15291 was fixed.

Generated at Thu Feb 08 08:14:45 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.