Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 302735 - USE="sdb-ldap" net-dns/bind: installation fails with "Package has poor programming practices"
Summary: USE="sdb-ldap" net-dns/bind: installation fails with "Package has poor progra...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: BIND Maintainers (DISABLED)
URL:
Whiteboard:
Keywords:
: 337047 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-01-29 10:29 UTC by roltel
Modified: 2011-03-10 17:58 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log for bind-9.6.1_p3 (build.log,679.63 KB, text/plain)
2010-01-29 10:54 UTC, roltel
Details
net-dns/bind-9.8.0_beta1.ebuild patch (bind-ebuild-sdb-ldap.patch,2.71 KB, patch)
2011-02-02 06:15 UTC, Mario Fetka (geos_one)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description roltel 2010-01-29 10:29:40 UTC
Trying to install bind-9.6.1_p3 on an x86_64 system with gcc v4.4.2 results in the following error message:

"ERROR: other
QA Notice: Package has poor programming practices which may compile
           but will almost certainly crash on 64bit architectures.
Function `ldap_get_values' implicitly converted to pointer at ldapdb.c:311"

Reproducible: Always

Steps to Reproduce:
1. Update portage tree.
2. #emerge -auv bind

Actual Results:  
The bind package will not be updated / installed.

Expected Results:  
The bind package should be updated / installed.

Portage 2.1.7.16 (default/linux/amd64/10.0, gcc-4.4.2, glibc-2.11-r1, 2.6.24-gentoo-r3 x86_64)
=================================================================                             
System uname: Linux-2.6.24-gentoo-r3-x86_64-Intel-R-_Xeon-R-_CPU_5140_@_2.33GHz-with-gentoo-2.0.1
Timestamp of tree: Thu, 28 Jan 2010 23:30:18 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p37
dev-lang/python:     2.5.4-r2, 2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.65
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -mtune=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=nocona -mtune=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="de en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ldap mmx modules mudflap multilib mysql ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl sysfs tcpd unicode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Peter Volkov (RETIRED) gentoo-dev 2010-01-29 10:46:36 UTC
Please, attach full build.log
Comment 2 roltel 2010-01-29 10:54:10 UTC
Created attachment 217821 [details]
Build log for bind-9.6.1_p3
Comment 3 roltel 2010-02-02 10:23:01 UTC
The problems are caused by the ldap patch (bind-sdb-ldap-1.1.0.patch). With previous versions of bind, you had to manually apply this patch from contrib/sdb/ldap. Now the patch will be applied automatically if you specify the use flag "ldap".

The homepage for this addon is http://bind9-ldap.bayour.com/. There haven't been any changes for a long time. I am not sure if the source code is still actively maintained.

Comment 4 Christian Ruppert (idl0r) gentoo-dev 2010-06-30 18:23:21 UTC
https://postlister.uninett.no/sympa/arc/dns-ldap/2009-10/msg00002.html
Comment 5 Christian Ruppert (idl0r) gentoo-dev 2010-09-13 17:09:52 UTC
*** Bug 337047 has been marked as a duplicate of this bug. ***
Comment 6 Christian Ruppert (idl0r) gentoo-dev 2010-09-23 20:34:58 UTC
I'll temporary disable the sdb-ldap useflag, sorry guys.
Comment 7 Mario Fetka (geos_one) 2011-02-02 06:14:21 UTC
(In reply to comment #6)
> I'll temporary disable the sdb-ldap useflag, sorry guys.
> 

i have done my best to correct this problem
i have created a new patch that also adds a new tool ldap2zone
and properly integrate it into the bind build

i have concentrated my work on the new beta release 9.8.0_beta1

the follwing patch is the result of this
Comment 8 Mario Fetka (geos_one) 2011-02-02 06:15:51 UTC
Created attachment 261313 [details, diff]
net-dns/bind-9.8.0_beta1.ebuild patch

here the patch for the ebuild the ldap-sdb patch is to big so i placed it onto my ftp server
Comment 9 Mario Fetka (geos_one) 2011-02-03 20:48:49 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > I'll temporary disable the sdb-ldap useflag, sorry guys.
> > 
> 
> i have done my best to correct this problem
> i have created a new patch that also adds a new tool ldap2zone
> and properly integrate it into the bind build
> 
> i have concentrated my work on the new beta release 9.8.0_beta1
> 
> the follwing patch is the result of this
> 

the patch also works flawless with 9.7.2 release
Comment 10 Christian Ruppert (idl0r) gentoo-dev 2011-02-24 23:11:36 UTC
Thanks Mario!

Could you add a fixed version for 9.6.x too? At a first glance it looks like only the Makefile.in parts needs to be fixed.
Comment 11 Mario Fetka (geos_one) 2011-02-25 04:54:27 UTC
(In reply to comment #10)
> Thanks Mario!
> 
> Could you add a fixed version for 9.6.x too? At a first glance it looks like
> only the Makefile.in parts needs to be fixed.
> 

ok will do but i would not be able to do it before end of the next week (next week is my exam's week at university)

it also corrects the code on many stages and also adds a new tool zone2ldap (or was it ldap2zone)

oh as expexted it also works with 9.8.0_rc1
Comment 12 Christian Ruppert (idl0r) gentoo-dev 2011-02-25 12:46:42 UTC
The new patch has been added to bind >=9.7.3-r1 and >=9.8.0_rc1.
I'll leave this bug open until 9.6.3* got it too :)
Thanks again!
Comment 13 Mario Fetka (geos_one) 2011-02-25 13:23:12 UTC
(In reply to comment #12)
> The new patch has been added to bind >=9.7.3-r1 and >=9.8.0_rc1.
> I'll leave this bug open until 9.6.3* got it too :)
> Thanks again!
> 

i think you mein 9.6-ESV-r3 ?
Comment 14 Christian Ruppert (idl0r) gentoo-dev 2011-02-25 13:38:56 UTC
No, it's not the ESV release.
Comment 15 Mario Fetka (geos_one) 2011-03-06 07:03:29 UTC
(In reply to comment #14)
> No, it's not the ESV release.
> 
ok i have updated the patch to also work with 9.6.x
http://ftp.disconnected-by-peer.at/pub/bind-sdb-ldap-1.1.0-fc11.patch.bz2

ot: how about going the fedora way and creating a named-sdb that holds all the sdb backends: ldap sqlite bdb mysql pgsql .... and let the std named be as it is
and you can choose in the conf.d file whitch of the 2 named you want to use std with dlz backends or sdb with sdb backens

Comment 16 Christian Ruppert (idl0r) gentoo-dev 2011-03-10 17:41:37 UTC
(In reply to comment #15)
> (In reply to comment #14)
> > No, it's not the ESV release.
> > 
> ok i have updated the patch to also work with 9.6.x
> http://ftp.disconnected-by-peer.at/pub/bind-sdb-ldap-1.1.0-fc11.patch.bz2
>

Thanks a lot! Fixed in CVS (9.6.3-r1).

> ot: how about going the fedora way and creating a named-sdb that holds all the
> sdb backends: ldap sqlite bdb mysql pgsql .... and let the std named be as it
> is
> and you can choose in the conf.d file whitch of the 2 named you want to use std
> with dlz backends or sdb with sdb backens

No, sorry. A global sdb version would pull in all dependencies instead of just the needed ones.
Comment 17 Mario Fetka (geos_one) 2011-03-10 17:58:50 UTC
(In reply to comment #16)

> No, sorry. A global sdb version would pull in all dependencies instead of just
> the needed ones.

my idea is to wrap all the sdb backend specific code in #if defined SDB_.... and so
then the depency in the ebuild could look like this sdb? ( ldap mysql sqlite ...)

so when the sdb backend is added to the build it would not add any code

and adding #if defined sdb_.... tho the sources would not hurt

yes this is a hack but it would work .