Skip to content
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

dnsdist 1.7.2 and master do not build on amazonlinux 2 #12142

Open
cmueller9999 opened this issue Oct 31, 2022 · 6 comments
Open

dnsdist 1.7.2 and master do not build on amazonlinux 2 #12142

cmueller9999 opened this issue Oct 31, 2022 · 6 comments

Comments

@cmueller9999
Copy link

  • Program: dnsdist
  • Issue type: Bug report

Short description

compilation error

Environment

  • Operating system: Amazon Linux release 2 (Karoo)
  • Software version: 1.7.2
  • Software source: compiled yourself

Steps to reproduce

./configure
make

Expected behaviour

Actual behaviour

CXX dnsdist-lua-bindings.o
dnsdist-lua-bindings.cc: In lambda function:
dnsdist-lua-bindings.cc:438:92: error: ‘class boost::optional’ has no member named ‘value_or’; did you mean ‘get_value_or’?
return std::make_shared(v4Config, v6Config, qnameConfig, format, external.value_or(false));
^~~~~~~~
get_value_or
dnsdist-lua-bindings.cc: In lambda function:
dnsdist-lua-bindings.cc:470:72: error: ‘class boost::optional’ has no member named ‘value_or’; did you mean ‘get_value_or’?
return bpf->block(qname, BPFFilter::MatchAction::Drop, qtype.value_or(255));
^~~~~~~~
get_value_or
dnsdist-lua-bindings.cc:488:49: error: ‘class boost::optional’ has no member named ‘value_or’; did you mean ‘get_value_or’?
return bpf->block(qname, match, qtype.value_or(255));
^~~~~~~~
get_value_or
make[2]: *** [dnsdist-lua-bindings.o] Error 1
make[2]: Leaving directory /root/dnsdist-1.7.2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /root/dnsdist-1.7.2'
make: *** [all] Error 2

Other information

@phonedph1
Copy link
Contributor

I got past these by using amazon linux 2 gcc10 and building the latest version of boost (amazon linux 2 version is quite old). My build isn't done yet but I suspect you'd have success doing that.

Relevant: #9089

@Habbie
Copy link
Member

Habbie commented Oct 31, 2022

Our own amazon-2 package build (via builder/build.sh) is broken because of this since 053a020

@Habbie
Copy link
Member

Habbie commented Oct 31, 2022

@Habbie
Copy link
Member

Habbie commented Oct 31, 2022

Digging into this, I find:

the amazon-2 build is also affected by #12104

the master (so not 1.7.x) build is broken for different reasons (dependency issues):

Error: Package: boost169-numpy3-1.69.0-2.el7.x86_64 (epel)
           Requires: libpython3.6m.so.1.0()(64bit)
Error: Package: python36-numpy-1.12.1-3.el7.x86_64 (epel)
           Requires: python(abi) = 3.6

@Habbie Habbie changed the title dnsdist compile error dnsdist 1.7.2 and master do not build on amazonlinux 2 Oct 31, 2022
@Habbie
Copy link
Member

Habbie commented Nov 1, 2022

the master (so not 1.7.x) build is broken for different reasons (dependency issues):

since 6f7f89d

@Habbie
Copy link
Member

Habbie commented Nov 1, 2022

Indeed Boost 1.53 does not have value_or (https://www.boost.org/doc/libs/1_53_0/libs/optional/doc/html/boost_optional/synopsis.html)

It's new in 1.56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants