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: cannot run dnsdist regression tests with python3.13+ #14945

Open
2 tasks done
karelbilek opened this issue Dec 9, 2024 · 5 comments
Open
2 tasks done

dnsdist: cannot run dnsdist regression tests with python3.13+ #14945

karelbilek opened this issue Dec 9, 2024 · 5 comments

Comments

@karelbilek
Copy link
Contributor

  • Program: dnsdist
  • Issue type: Bug report

Short description

I cannot run dnsdist regression tests.

It seems to be caused by this issue.

jnwatson/py-lmdb#362

Environment

  • Operating system: macOS
  • Software version: master
  • Software source: github

Steps to reproduce

  1. clone pdns
  2. go to ./regression-tests.dnsdist
  3. ./runtests

Expected behaviour

Tests will work

Actual behaviour

Tests end with

      lmdb/cpython.c:548:12: error: call to undeclared function 'PyObject_AsReadBuffer'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        548 |     return PyObject_AsReadBuffer(buf,
            |            ^
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

Other information

It seems to be caused by some third party dependency (lmdb) using a deprecated call that was removed in new python. I did not yet try to use an older python version.

@karelbilek
Copy link
Contributor Author

using python 3.11 fixes the issue.

@rgacogne
Copy link
Member

rgacogne commented Dec 9, 2024

FWIW 3.12.7 works as well. I'm not sure what we can do about it, a new release of py-lmdb would be great.

@karelbilek
Copy link
Contributor Author

I suggest keeping the issue open for others to see it/track it, and you can close it with new py-lmdb?

@karelbilek
Copy link
Contributor Author

I was thinking this could be fixed with adding Dockerfile and putting all the tests to Docker with fixed Python version; but it would be a bit of a rewrite, to access the built binary there. Do you think it's worth it?

@rgacogne
Copy link
Member

Thank you, but I don't think this is a good idea. I actually want the tests to break when something we rely on breaks, so that we know about it. Otherwise I'll learn about it much later, worst case scenario when something breaks in production.

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

2 participants