Skip Menu |
Report information
The Basics
Id: 47015
Status: resolved
Priority: 50/50
Queue: bind9-public

People
Owner: Nobody in particular
Requestors: David Ranch <isc-bind@trinnet.net>
Cc:
AdminCc:

Bug Information
Version Fixed: 9.11.3, 9.12.1, 9.13.0
Version Found: (no value)
Versions Affected: (no value)
Versions Planned: (no value)
Priority: P3 Low
Severity: S2 Normal
CVSS Score: (no value)
CVE ID: (no value)
Component: (no value)
Area: bug

Dates
Created:Wed, 17 Jan 2018 11:08:26 -0500
Updated:Tue, 23 Jan 2018 21:12:35 -0500
Closed:Tue, 23 Jan 2018 21:12:33 -0500



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.

Date: Wed, 17 Jan 2018 16:08:19 +0000
CC: marketing@isc.org
To: bind-bugs@isc.org
From: "David Ranch" <isc-bind@trinnet.net>
Subject: Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine
Download (untitled) / with headers
text/plain 1.3KiB
Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine

Message from David Ranch

  • Full Name: David Ranch
  • Organization: Personal
  • E-mail: isc-bind@trinnet.net
  • Phone Number:
    • Message

      Hello ISC,

      I'm actively updating the version of Bind on a legacy system which has been running Bind for many years. In the most recent update, it seems that there is a build issue in 9.11.2-P1 which is not there in 9.10.6-P1


      In file included from ht.c:13:
      include/isc/hash.h: At top level:
      include/isc/hash.h:101: warning: `deprecated' attribute directive ignored
      include/isc/hash.h:110: warning: `deprecated' attribute directive ignored
      include/isc/hash.h:156: warning: `deprecated' attribute directive ignored
      include/isc/hash.h:160: warning: `deprecated' attribute directive ignored
      include/isc/hash.h:183: warning: `deprecated' attribute directive ignored
      ht.c:31: field `key' has incomplete type
      make[2]: *** [ht.o] Error 1
      make[2]: Leaving directory `/usr/src/archive/dns/bind-9.11.2-P1/lib/isc'
      make[1]: *** [subdirs] Error 1
      make[1]: Leaving directory `/usr/src/archive/dns/bind-9.11.2-P1/lib'
      make: *** [subdirs] Error 1

      I can provide the full build logs to anyone who needs them. I would normally just fix this myself but I wanted to hopefully get this fixed upstream since when you release your new code on your new release model, hopefully I won't have to keep patching the code.

      –David


      This email was sent from Contact ISC on ISC's website

On Wed Jan 17 16:08:26 2018, isc-bind@trinnet.net wrote: > Message from David Ranch > > Full Name: David Ranch > Organization: Personal > E-mail: isc-bind@trinnet.net > Phone Number: > > Message > Hello ISC, > I'm actively updating the version of Bind on a legacy system which has > been running Bind for many years. In the most recent update, it seems > that there is a build issue in 9.11.2-P1 which is not there in 9.10.6- > P1 => which system and more important which compiler? BTW if lib/isc/include/isc/deprecated.h there is a simple #ifdef __GNUC__ which should be improved... Looking for the other and blocking problem.
Two questions about the second (and blocking) problem: 1- can you return here the value of FLEXIBLE_ARRAY_MEMBER from config.h? (it should be set to 1 for an old compiler, to nothing for a C 99 compiler) 2- replace in lib/isc/ht.c the [] after key by [FLEXIBLE_ARRAY_MEMBER]. It should compile with this (if there is no other problem). I am still interested by your compiler version. According to Gnu docs the deprecated attribute is supported by gcc 3.1.1 and perhaps older (I found only 3.0.4 and 2.95.3 docs, both without this atttribute).
From: "David Ranch" <isc-bind@trinnet.net>
To: bind9-confidential@isc.org
Subject: Re: [ISC-Bugs #47015] Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine
Date: Wed, 17 Jan 2018 10:57:35 -0800

Hello Francis,

Thank you for looking into this issue.

=> which system and more important which compiler?

Don't laugh (I did say this was legacy but this has never been an issue with all the Bind releases I've built on this machine:

$ cat /etc/redhat-release
Linux Mandrake release 7.0 (Air)

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)


Attached is the build log files for both 9.11.2-P1 (broken) and 9.10.6-P1 (works and is now installed)


BTW if lib/isc/include/isc/deprecated.h there is a simple
#ifdef __GNUC__
which should be improved...

Looking for the other and blocking problem.

Nope.. that file isn't present:
--
trinity3:/usr/src/archive/dns/bind-9.11.2-P1$ ls -la lib/isc/include/isc/deprecated.h
ls: lib/isc/include/isc/deprecated.h: No such file or directory
--

--David

Message body not shown because it is not plain text.

On Wed Jan 17 18:57:46 2018, isc-bind@trinnet.net wrote: > > => which system and more important which compiler? > > Don't laugh (I did say this was legacy but this has never been an issue > with all the Bind releases I've built on this machine: => it is not so old. I was afraid it was a SuOS 4.1.x which now is really very old.... I used a lot this system. > $ cat /etc/redhat-release > Linux Mandrake release 7.0 (Air) > > $ gcc -v > Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/specs > gcc version 2.95.2 19991024 (release) => so a < 3.1. If I assume no major feature as attributes where added in a revision I have the version to check for. > Nope.. that file isn't present: > -- > trinity3:/usr/src/archive/dns/bind-9.11.2-P1$ ls -la > lib/isc/include/isc/deprecated.h > ls: lib/isc/include/isc/deprecated.h: No such file or directory => it is in the v9_11 branch but seems not very old. Anyway the ISC_DEPRECATED macro should be define somewhere and if you can't find it you get only warnings...
To: bind9-confidential@isc.org
Date: Wed, 17 Jan 2018 12:56:30 -0800
Subject: Re: [ISC-Bugs #47015] Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine
From: "David Ranch" <isc-bind@trinnet.net>
Download (untitled) / with headers
text/plain 1.9KiB

Hello Francis,

Two questions about the second (and blocking) problem:
 1- can you return here the value of FLEXIBLE_ARRAY_MEMBER
  from config.h? (it should be set to 1 for an old compiler,
  to nothing for a C 99 compiler)

trinity3:/usr/src/archive/dns/bind-9.11.2-P1$ grep FLEXIBLE_ARRAY_MEMBER config.h
   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
#define FLEXIBLE_ARRAY_MEMBER 1




 2- replace in lib/isc/ht.c the [] after key by
  [FLEXIBLE_ARRAY_MEMBER].

Ah.. I think you meant:
--
trinity3:/usr/src/archive/dns/bind-9.11.2-P1# diff -u lib/isc/ht.c.orig lib/isc/ht.c
--- lib/isc/ht.c.orig   Wed Jan 17 11:46:12 2018
+++ lib/isc/ht.c        Wed Jan 17 11:46:23 2018
@@ -28,7 +28,7 @@
        void *value;
        isc_ht_node_t *next;
        size_t keysize;
-       unsigned char key[];
+       unsigned char key[FLEXIBLE_ARRAY_MEMBER];
 };

 struct isc_ht {
--


It should compile with this (if there is no other problem).

Looks like this change worked and it completed building.  Interestingly enough, this lib/isc/ht.c file doesn't exist in the 9.11.2-P1 sources.


I am still interested by your compiler version.
According to Gnu docs the deprecated attribute is
supported by gcc 3.1.1 and perhaps older (I found
only 3.0.4 and 2.95.3 docs, both without this atttribute).

Per my previous email, this machine is running 2.95.
--
trinity3:/usr/src/archive/dns/bind-9.10.6-P1# gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)
--


So.. with your help, we've found a solution but I'm curious how we proceed here.  Do you feel there is any issue with rolling out this new binary (I doubt it)?  How does ISC roll out build fixes for critical security releases?  Will they release a 9.11.2-P2 ASAP?  Maybe you just offer patches to help impacted users until you publish a new 9.11.x release? 
Just curious.

--David
To: bind9-confidential@isc.org
From: "Mark Andrews" <marka@isc.org>
Subject: Re: [ISC-Bugs #47015] Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine
Date: Thu, 18 Jan 2018 08:16:55 +1100
> On 18 Jan 2018, at 7:56 am, David Ranch via RT <bind9-confidential@isc.org> wrote: > > So.. with your help, we've found a solution but I'm curious how we > proceed here. Do you feel there is any issue with rolling out this new > binary (I doubt it)? How does ISC roll out build fixes for critical > security releases? Will they release a 9.11.2-P2 ASAP? Maybe you just > offer patches to help impacted users until you publish a new 9.11.x > release? > Just curious. There is no need to fix these security releases. You upgraded from BIND 9.10.X to BIND 9.11.X. BIND 9.10.6-P1 should compile fine on your system. The security fixes are minimal changes unlike performing a major version upgraded. Mark > --David > > > -- > Ticket History: https://bugs.isc.org/Ticket/Display.html?id=47015 -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
From: "David Ranch" <isc-bind@trinnet.net>
Subject: Re: [ISC-Bugs #47015] Bind 9.11.2-P1 fails to compile but bind-9.10.6-P1 is fine
To: bind9-confidential@isc.org
Date: Wed, 17 Jan 2018 14:52:32 -0800

Hello Mark,


There is no need to fix these security releases.  You upgraded from BIND 9.10.X
to BIND 9.11.X. BIND 9.10.6-P1 should compile fine on your system.  The security
fixes are minimal changes unlike performing a major version upgraded.

I actually haven't upgraded to 9.11.2-P1 yet as I wanted to hear back from you folks first.  I'm now at the decision point if I should either a) modify my build / deploy script to support applying this patch or b) if I should just deploy 9.10.6-P1.  I'm find with staying with 9.10 but my main goal in opening this ticket you folk was to hopefully get this  issue I found will be fixed in the next version of 9.11.x.

Thanks again for all you help..

--David




Mark

--David


-- 
Ticket History: https://bugs.isc.org/Ticket/Display.html?id=47015

    

4875. [bug] Address compile failures on older systems. [RT #47015]