samba4: bind error #define DLZ_DLOPEN_VERSION 1

Günter Kukkukk linux at kukkukk.com
Sat Apr 21 12:38:22 MDT 2012


On Saturday 21 April 2012 19:06:44 steve wrote:
> On 21/04/12 14:09, Sergey Urushkin wrote:
> >> On Fri, Apr 20, 2012 at 4:40 AM, steve <steve at steve-ss.com> wrote:
> >>> On 19/04/12 12:36, Kev Latimer wrote:
> >>>> On 19/04/2012 10:32, steve wrote:
> >>>>> On 19/04/12 10:39, Kev Latimer wrote:
> >>>>>> On 19/04/2012 09:38, Kev Latimer wrote:
> >>>>>>> On 18/04/2012 16:04, Amitay Isaacs wrote:
> > Hi. I have the same issue with 9.8. Tried today's master snapshot
> > (Version 4.0.0alpha20-GIT-c0ba829) (used new empty directory for git
> > clone) and now I have single dlz_bind9.so and
> > dlz_dlopen: incorrect version 2 should be 1 in
> > '/usr/local/samba/lib/bind9/dlz_bind9.so'
> > So, seems there is something wrong with this new feature. What
> > additional information may I give you?
> 
> My money is on this:
> source4/dns_server/dlz_minimal.h
> 
> #ifdef BIND_VERSION_9_8
> #define DLZ_DLOPEN_VERSION 1
> #else
> #define DLZ_DLOPEN_VERSION 2
> #endif
> 
> Add the line:
> #define BIND_VERSION_9_8   1
> and it builds the correct _one_ so
> HTH
> Steve

there seems to be a typo in /source4/dns_server/wscript_build:
....
....
# a bind9 dlz module giving access to the Samba DNS SAM
bld.SAMBA_LIBRARY('dlz_bind9',
                  source='dlz_bind9.c',
                  cflags='-DBIND_VERSION_9_8',
                  private_library=True,
                  link_name='modules/bind9/dlz_bind9.so',
                  realname='dlz_bind9.so',
                  install_path='${MODULESDIR}/bind9',
                  deps='samba-hostconfig samdb gensec popt')

bld.SAMBA_LIBRARY('dlz_bind9_9',
                  source='dlz_bind9.c',
                  cflags='-DBIND_VERSION_9_9',
                  private_library=True,
                  link_name='modules/bind9/dlz_bind9_9.so',
-                  realname='dlz_bind9.so',
+                  realname='dlz_bind9_9.so',
                  install_path='${MODULESDIR}/bind9',
                  deps='samba-hostconfig samdb gensec popt')
----

I'm no waf expert, but with that change, both dynlibs are build
and then installed during 'make install':
   ./lib/bind9/dlz_bind9.so
   ./lib/bind9/dlz_bind9_9.so

The right one must then be "selected" manually
in the s4 generated ./private/named.conf file
(installed during a new provision step...)

Cheers, Günter


More information about the samba-technical mailing list