From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 125411 invoked by alias); 1 Sep 2016 04:37:53 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 125386 invoked by uid 89); 1 Sep 2016 04:37:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM autolearn=no version=3.3.2 spammy=representative X-HELO: mail-oi0-f49.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=TXBezJG/TzrAmqmCU9ZXDoVbQA4CgpKjypYheDos+WM=; b=KBjQZ6J2gGklP1kp7g/39VA9augu6AnHSG4kTvTd2IvyLVMAB01vZ/NlMXPHXoUU2k qMwg+lOpHmuGrFAQviBFDvxo5cU6qNbWeZVP+5FSX6Jc+miEMp11UQghIbRkbJ+NR+sy OJ6jPkTtfi+RBr6aT67858OBIKuNxZTxhiZMjA3bCWgB/CZNfWlNyv/QKayI9xlsz0Uk fIzajDTAE62jioKtwIgJVnK4Kw9/HSdv7qX6+q+cM6+u0TxMyqFn9FBhJXkfdqTYG+zR BmD8zQh0t2ni+399rRpyo8YkEDWmjZFegSb9WUEuOazyOuaIghutJa4sqymuA5fTLOqm XWPw== X-Gm-Message-State: AE9vXwPZ6Ey5mjG9mCwoB2PzgHRmPsdtjlUBdnO4r6WqiJrdSBWCczbJdzclqMX/qEW0wfuhdixdblPWrAsBuw== X-Received: by 10.157.11.37 with SMTP id a34mr12525633ota.181.1472704656159; Wed, 31 Aug 2016 21:37:36 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Nick Bowler Date: Thu, 01 Sep 2016 04:37:00 -0000 Message-ID: Subject: Re: AC_HEADER_MAJOR vs. glibc 2.25(-to-be) To: Zack Weinberg Cc: autoconf@gnu.org, GNU C Library Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2016-09/txt/msg00002.txt.bz2 On 8/31/16, Zack Weinberg wrote: > glibc 2.25 is going to deprecate the definition of 'major', 'minor', > and 'makedev' by sys/types.h; see > https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for rationale. > (It was found to be impractical to remove sys/types.h from stdlib.h.) > Unfortunately, AC_HEADER_MAJOR does not detect that these macros are > now throwing warning messages if you don't include sys/sysmacros.h, > and this is reported to break software that uses -Werror (see the very > end of the above bug report). It seems that the simplest short term solution is to just not use -Werror when building packages. Other than the warning, the header detection worked, and the test is behaving as documented, right? Perhaps we could also change Autoconf to do something different, so new packages will work better with new systems. This does nothing for old packages but the impact seems minor. For better or for worse, AC_HEADER_MAJOR is quite explicitly documented as probing the headers in a particular way. If packages are relying on it behaving exactly as documented then we may have a problem changing this macro to do something else. But I expect it's not a big concern. > The ideal solution to this problem would be if there _already existed_ > a way for sys/types.h to detect that it's being included by an > autoconf test program. This is not really ideal as it goes directly against the Autoconf philosophy that the test cases are representative of the actual compilation environment. I have a question though, if these macros are deprecated, will they be removed from eventually? If they're going to be removed, why not just punt them right now? If they're not going to be removed, why bother with the warnings? Cheers, Nick