Ubuntu/Python module _unboundmodule missing

I’m tryin to get unbound with the python module running on Ubuntu 18.04 LTS. The version from the ubuntu repository (1.6 7) works fine without the python module.. The package python-unbound provides unboundmodule.py under dist-packages however _unboundmodule(.so?!?) is missing. Same if i compile it, unboundmodule.py is created _unboundmodule is missing. Any Ideas?
I had a look at the makefile and it seems that part is simply missing. Pyunbound works fine (_unbound.so is created). I also checked a couple of repisitories and it seems _unboundmodule is always missing on ubuntu, i saw It’s part of the python-unbound package, for e.g. Fedora.

Bests,
Daniel

Hi Daniel,

This module is built-into the unbound executable by the compile, and it
is fetched at that time by the python start routines. That is why it is
not built separately. The python module needs a python script to load,
and that is something you configure in unbound.conf.

Could it be some sort of version issue in Python (compile vs run-time)
that causes it to not load the symbols from the executable and search
for them externally?

Best regards, Wouter

Hi Wouter,

I already narrowed it down to be a python3 (in my case 3.6 issue). If I configure unbound the exact same way except using PYTHON_VERSION=2.7 everything works as intended. If I build it using Python3 the first method that is used from _unboundmodule (in my case _unboundmodule.dnameAsStr(dname)) fails.

This is how I configure it:

./configure --with-libevent --disable-static --with-ssl --sysconfdir=/etc/unbound --with-conf-file=/etc/unbound/unbound.conf --with-pidfile=/var/run/unbound.pid --enable-pie --enable-systemd --enable-subnet --enable-event-api --enable-dnscrypt --enable-cachedb --enable-ipsecmod --with-pyunbound --with-pythonmodule PKG_CONFIG=“/usr/bin/pkg-config” --prefix=/usr PYTHON_VERSION=2.7

As a side note: starting from 1.8.1 systemd integration works like a charm, thanks!

Bests,

Daniel

Hi Daniel,

The bug is fixed, and unbound can be built with python 2 and with python
3. Tested with 2.7 and 3.6.

Best regards, Wouter