Report information
The Basics
Id:
40811
Status:
open
Priority:
Medium/Medium
Queue:

People
Owner:
Nobody in particular
Cc:
AdminCc:

BugTracker
Version Fixed:
(no value)
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
(no value)
Severity:
(no value)
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
BIND Server
Area:
bug

Dates
Created:Wed, 23 Sep 2015 10:51:50 -0400
Updated:Tue, 25 Jul 2017 11:30:02 -0400
Closed:Not set



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 16:51:40 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
Hi, When I was updating the FreeBSD ports for the beta and pre-releases, while testing on 9 and 10, our QA tools told me that it was wrongfully linking to libedit from the base system, so I added a dependency on the libedit port. It was happy and all, and it linked to the correct libedit. But I did not test on FreeBSD 11. FreeBSD 11 has libedit in the base system, but it does not have the readline/readline.h compat shims, so, configure passes because, hey, linking to -ledit works, great, but build fails later because: cc -pthread -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8 -I./include -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8/lib/dns/include -I../../lib/dns/include -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8/lib/bind9/include -I../../lib/bind9/include -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8/lib/isc/include -I../../lib/isc -I../../lib/isc/include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/x86_32/include -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8/lib/lwres/include -I../../lib/lwres/unix/include -I../../lib/lwres/include -I/wrkdirs/usr/ports/dns/bind99/work/bind-9.9.8/lib/isccfg/include -I../../lib/isccfg/include -I/usr/local/include -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVERSION=\"9.9.8\" -DDIG_SIGCHASE=1 -D_THREAD_SAFE -O2 -pipe -isystem /usr/local/include -fstack-protector -fno-strict-aliasing -I/usr/local/include/libxml2 -I/usr/include -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -c nslookup.c nslookup.c:48:10: fatal error: 'readline/readline.h' file not found #include <readline/readline.h> Full log available here: <http://beefy4.isc.freebsd.org/data/head-amd64-default/p397526_s288081/logs/errors/bind99-9.9.8.log> I tried fiddeling a bit with the --with-readline option, which excuse my french, but should not be called --with-readline, but --readline-libs or something else, because, contrary to all the --with-foo configure arguments I ever saw, it does not take a path, but it takes arguments to be passed to the compiler, but it only uses them for the configure phase, it does not use it afterwards. At all... So I'm kinda wondering how I should go on fixing this, before I go on and use a chainsaw with the sources so that it builds. Regards, -- Mathieu Arnold

Message body not shown because it is not plain text.

CC:
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 16:07:47 +0000
To: "Mathieu Arnold via RT" <bind9-bugs@isc.org>
From: "Evan Hunt" <each@isc.org>
> So I'm kinda wondering how I should go on fixing this, before I go on and > use a chainsaw with the sources so that it builds. It probably wants changing in configure.in by adding a CHECK_HEADERS macro or two. Where does freebsd 11 keep its readline header file?
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 21:47:47 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
+--On 23 septembre 2015 16:07:49 +0000 Evan Hunt via RT <bind9-bugs@isc.org> wrote: |> So I'm kinda wondering how I should go on fixing this, before I go on and |> use a chainsaw with the sources so that it builds. | | It probably wants changing in configure.in by adding a CHECK_HEADERS | macro or two. Where does freebsd 11 keep its readline header file? It doesn't. It has libedit, not readline :-) -- Mathieu Arnold

Message body not shown because it is not plain text.

Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 21:53:44 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
+--On 23 septembre 2015 19:47:54 +0000 Mathieu Arnold via RT <bind9-bugs@isc.org> wrote: | +--On 23 septembre 2015 16:07:49 +0000 Evan Hunt via RT | <bind9-bugs@isc.org> wrote: ||> So I'm kinda wondering how I should go on fixing this, before I go on ||> and use a chainsaw with the sources so that it builds. || || It probably wants changing in configure.in by adding a CHECK_HEADERS || macro or two. Where does freebsd 11 keep its readline header file? | | It doesn't. It has libedit, not readline :-) Ok, after a bit more fiddeling with --with-readline, the only way for it to work on 11 is --with-readline=-lreadline and add a dependency on the readline port. It would be nice if it did not bail out if libedit is there but there are no readline headers, disabling the readline bits :-) -- Mathieu Arnold

Message body not shown because it is not plain text.

Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 15:21:34 -0500 (CDT)
To: "Mathieu Arnold via RT" <bind9-bugs@isc.org>
From: "Jeremy C. Reed" <jreed@isc.org>
Some of our FreeBSD systems (like 10.0 and 10.1) have: /usr/include/edit/readline/readline.h (NetBSD licensed version) /usr/include/readline/readline.h (GNU-licensed) The libraries are: /usr/lib/libedit.so /usr/lib/libreadline.so Older FreeBSD 6.3 has the libreadline.so but also has the libedit at /lib/libedit.so.5. Sorry I don't know if we use any readline feature that is not in the that older libedit. The old header is /usr/include/histedit.h.
CC:
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 20:22:12 +0000
To: "Mathieu Arnold via RT" <bind9-bugs@isc.org>
From: "Evan Hunt" <each@isc.org>
On Wed, Sep 23, 2015 at 07:47:53PM +0000, Mathieu Arnold via RT wrote: > It doesn't. It has libedit, not readline :-) Right, but the functions that used to be exported by libreadline and are now exported by libedit, such as readline() and add_history(), must still have prototypes in a header file somewhere. What header file is that? "grep -R add_history /usr/include" will probably tell us the answer.
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 22:48:15 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
+--On 23 septembre 2015 20:22:13 +0000 Evan Hunt via RT <bind9-bugs@isc.org> wrote: | On Wed, Sep 23, 2015 at 07:47:53PM +0000, Mathieu Arnold via RT wrote: |> It doesn't. It has libedit, not readline :-) | | Right, but the functions that used to be exported by libreadline and are | now exported by libedit, such as readline() and add_history(), must still | have prototypes in a header file somewhere. What header file is that? | | "grep -R add_history /usr/include" will probably tell us the answer. Ah, yes, it has /usr/include/edit/readline/readline.h. -- Mathieu Arnold

Message body not shown because it is not plain text.

Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 23:01:31 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
+--On 23 septembre 2015 20:48:22 +0000 Mathieu Arnold via RT <bind9-bugs@isc.org> wrote: | | | +--On 23 septembre 2015 20:22:13 +0000 Evan Hunt via RT | <bind9-bugs@isc.org> wrote: || On Wed, Sep 23, 2015 at 07:47:53PM +0000, Mathieu Arnold via RT wrote: ||> It doesn't. It has libedit, not readline :-) || || Right, but the functions that used to be exported by libreadline and are || now exported by libedit, such as readline() and add_history(), must still || have prototypes in a header file somewhere. What header file is that? || || "grep -R add_history /usr/include" will probably tell us the answer. | | Ah, yes, it has /usr/include/edit/readline/readline.h. Ok, but, no, you almost got me, in the event BIND uses libedit, it MUST NOT use the version from the base system, it MUST use libedit from the ports tree, which has its readline.h in /usr/local/include/editline/readline.h. -- Mathieu Arnold

Message body not shown because it is not plain text.

CC:
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Wed, 23 Sep 2015 21:27:37 +0000
To: "Mathieu Arnold via RT" <bind9-bugs@isc.org>
From: "Evan Hunt" <each@isc.org>
On Wed, Sep 23, 2015 at 09:01:36PM +0000, Mathieu Arnold via RT wrote: > Ok, but, no, you almost got me, in the event BIND uses libedit, it MUST NOT > use the version from the base system, it MUST use libedit from the ports > tree, which has its readline.h in /usr/local/include/editline/readline.h. I think I missed something. Why mustn't it use the version from the base system? I'm thinking in configure we can check for libreadline or libedit, then check for readline/readline.h, edit/readline/readlineh, or editline/readline.h and then do test compiles until we get a combination that works.
Subject: Re: [ISC-Bugs #40811] Problem with the new libedit in bIND 9.9.8 and 9.10.3 on FreeBSD 11
Date: Thu, 24 Sep 2015 15:27:32 +0200
To: bind9-bugs@isc.org
From: "Mathieu Arnold" <mat@FreeBSD.org>
+--On 23 septembre 2015 21:27:40 +0000 Evan Hunt via RT <bind9-bugs@isc.org> wrote: | On Wed, Sep 23, 2015 at 09:01:36PM +0000, Mathieu Arnold via RT wrote: |> Ok, but, no, you almost got me, in the event BIND uses libedit, it MUST |> NOT use the version from the base system, it MUST use libedit from the |> ports tree, which has its readline.h in |> /usr/local/include/editline/readline.h. | | I think I missed something. Why mustn't it use the version from | the base system? Because it's older, it does not support unicode well, things like that. Right now, I'm testing this: https://github.com/mat813/freebsd-ports/commit/a951c2a04c40c31451e7ecc930a88bac98e8cb26 Which is basically replacing readline/readline.h by editline/readline.h and readline/history.h by edithist.h in the nslookup.c and nsupdate.c. -- Mathieu Arnold

Message body not shown because it is not plain text.