samba4: bind error #define DLZ_DLOPEN_VERSION 1

Amitay Isaacs amitay at gmail.com
Sun Apr 22 04:17:37 MDT 2012


2012/4/22 Günter Kukkukk <linux at kukkukk.com>:
> 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

Thanks for identifying the problem. Yes, that's the issue. Since I was
testing from the build tree, did not realize that it installed with
the same name.

Amitay.


More information about the samba-technical mailing list