New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build with Boost 1.67 #6357

Closed
AdamMajer opened this Issue Mar 16, 2018 · 0 comments

Comments

Projects
None yet
2 participants
@AdamMajer
Contributor

AdamMajer commented Mar 16, 2018

  • Program: Authoritative, Recursor
  • Issue type: Bug report

Short description

Fails to build with Boost 1.67 Beta1. The cause is related to,

dns.hh:228 #define L theL()

[  475s] g++ -DHAVE_CONFIG_H -I. -I..  -I.. -I.. -pthread  -I../ext/json11 -I../ext/yahttp     -I/usr/include/p11-kit-1 
 -I/usr/include/lua5.3    -DSYSCONFDIR=\"/etc/pdns\" -DPKGLIBDIR=\"/usr/lib64/pdns\" -DLOCALSTATEDIR=\"/var\" -fPIE -DPI
E -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 --param ssp-buffer-size=4 -fstack-protector -fmessage-length=0 -grecord-gcc-swit
ches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-p
rotection -DLDAP_DEPRECATED -c -o common_startup.o common_startup.cc
[  475s] In file included from misc.hh:39:0,
[  475s]                  from dnsparser.hh:32,
[  475s]                  from protobuf.cc:3:
[  475s] dns.hh:228:11: error: expected nested-name-specifier before 'theL'
[  475s]  #define L theL()
[  475s]            ^
[  475s] dns.hh:228:11: error: there are no arguments to 'theL' that depend on a template parameter, so a declaration of
 'theL' must be available [-fpermissive]
[  475s]  #define L theL()
[  475s]            ^
[  475s] dns.hh:228:11: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
[  475s] In file included from /usr/include/boost/function_types/components.hpp:61:0,
[  476s]                  from /usr/include/boost/function_types/is_member_function_pointer.hpp:14,
[  476s]                  from /usr/include/boost/tti/detail/dmem_fun.hpp:11,
[  476s]                  from /usr/include/boost/tti/has_member_function.hpp:15,
[  476s]                  from /usr/include/boost/uuid/random_generator.hpp:19,
[  476s]                  from /usr/include/boost/uuid/uuid_generators.hpp:17,
[  476s]                  from protobuf.hh:34,
[  476s]                  from protobuf.cc:4:
[  476s] /usr/include/boost/function_types/detail/class_transform.hpp:28:35: error: type/value mismatch at argument 1 in template parameter list for 'template<class F, class T1> struct boost::mpl::apply1'
[  476s]  { typedef typename mpl::apply1<L,T>::type type; };
[  476s]                                    ^
[  476s] /usr/include/boost/function_types/detail/class_transform.hpp:28:35: note:   expected a type, got 'theL()'
[  476s] In file included from misc.hh:39:0,
[  476s]                  from dnsparser.hh:32,
[  476s]                  from protobuf.cc:3:
[  476s] dns.hh:228:11: error: expected nested-name-specifier before 'theL'
[  476s]  #define L theL()
[  476s]            ^

Full build logs are available at,

https://build.opensuse.org/build/home:adamm:boost_test/openSUSE_Tumbleweed/x86_64/pdns-recursor/_log

https://build.opensuse.org/build/home:adamm:boost_test/openSUSE_Tumbleweed/x86_64/pdns/_log

Environment

  • Operating system: openSUSE Tumbleweed + Boost 1.67 Beta1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment