GNU bug report logs - #21336
configure fails to detect C++ compiler on case-insensitive FS

Previous Next

Package: automake;

Reported by: "Daniel Macks" <dmacks <at> netspace.org>

Date: Mon, 24 Aug 2015 10:13:02 UTC

Severity: normal

Tags: confirmed

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 21336 in the body.
You can then email your comments to 21336 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#21336; Package automake. (Mon, 24 Aug 2015 10:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Daniel Macks" <dmacks <at> netspace.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Mon, 24 Aug 2015 10:13:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Daniel Macks" <dmacks <at> netspace.org>
To: bug-automake <at> gnu.org
Subject: configure fails to detect C++ compiler on case-insensitive FS
Date: Mon, 24 Aug 2015 06:12:32 -0400
Building automake-1.15 on OS X 10.10 on a case-insensitive filesystem, during ./configure I see:

checking whether cc understands -c and -o together... yes
checking for aCC... no
checking for FCC... no
checking for KCC... KCC
checking whether the C++ compiler works... no
configure: WARNING: C++ compiler cannot create executables
configure: tests requiring the C++ compiler will be skipped

I don't have "KCC" and my C++ compiler (at "c++" or "g++") is fine. I do however have /usr/bin/kcc, which AC_PROG_CXX finds when it looks for "KCC" on my filesystem:

# The list of C++ compilers here has been copied, pasted and edited
# from 'lib/autoconf/c.m4:AC_PROG_CXX' in the Autoconf distribution.
# Keep it in sync, or better again, find out a way to avoid this code
# duplication.
_AM_COMPILER_CAN_FAIL([AC_PROG_CXX(dnl
  [aCC $am_CC FCC KCC $am_RCC xlC_r xlC c++ cxx cc++ gpp g++])],
  [CXX=false; _AM_SKIP_COMP_TESTS([C++])])

But my "kcc" is some completely unrelated kerberos tool, so when AC_PROG_CXX tests to see whether it behaves as a compiler, it fails because it isn't a compiler, and the autoconf tests don't get as far as my actual compiler in the list of possibilities. This is the same situation as the now-fixed automake bugs #11893 and #10766, where looking for "CC" was finding "cc" on case-insensitive filesystems, so presumably the same solution could work. That is, only look for "KCC" if it's a case-sensitive FS.

This code from which this block is documented to derive is:

[g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC]

in autoconf git, so an alternate solution is to re-sync with that (notably, "KCC" is well after "c++" and "g++").

dan

--
Daniel Macks
dmacks <at> netspace.org




Added tag(s) confirmed. Request was from Mike Frysinger <vapier <at> gentoo.org> to control <at> debbugs.gnu.org. (Fri, 10 Dec 2021 06:52:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#21336; Package automake. (Fri, 10 Dec 2021 06:57:02 GMT) Full text and rfc822 format available.

Message #10 received at 21336 <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: automake-patches <at> gnu.org
Cc: 21336 <at> debbugs.gnu.org
Subject: [PATCH] configure: handle KCC on case-insensitive filesystems
Date: Fri, 10 Dec 2021 01:55:58 -0500
This fixes https://debbugs.gnu.org/21336.  On macOS 10.10, there seems
to be a kerberos tool installed as "kcc" which breaks the check.

Also resync with latest autoconf which searches for clang++ too.

* configure.ac: Skip KCC check on case-insensitive filesystems.  Add
clang++ to the C++ search list.
---
 configure.ac | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 5a00bd29e0a7..6be3ba7526b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -444,11 +444,13 @@ AS_IF([test x"$GCC" = x"yes"], [am_CC_is_GNU=yes], [am_CC_is_GNU=no])
 # to a C++ compiler as expected (see automake bugs #11893 and #10766).
 # Similarly, we must avoid looking for 'RCC', as that can point to the
 # Qt4 "Resource Compiler": <http://doc.qt.digia.com/4.2/rcc.html>
+# And we avoid looking for 'KCC' as that can be a kerberos tool under
+# macOS systems.
 if test -f /bIn/rMdIr || test -f /uSr/bIn/rMdIr; then
   # Case-insensitive file system, don't look for CC.
-  am_CC= am_RCC=
+  am_CC= am_RCC= am_KCC=
 else
-  am_CC=CC am_RCC=RCC
+  am_CC=CC am_RCC=RCC am_KCC=KCC
 fi
 
 # The list of C++ compilers here has been copied, pasted and edited
@@ -456,7 +458,7 @@ fi
 # Keep it in sync, or better again, find out a way to avoid this code
 # duplication.
 _AM_COMPILER_CAN_FAIL([AC_PROG_CXX(dnl
-  [aCC $am_CC FCC KCC $am_RCC xlC_r xlC c++ cxx cc++ gpp g++])],
+  [aCC $am_CC FCC $am_KCC $am_RCC xlC_r xlC c++ cxx cc++ gpp g++ clang++])],
   [CXX=false; _AM_SKIP_COMP_TESTS([C++])])
 
 AS_IF([test x"$GXX" = x"yes"], [am_CXX_is_GNU=yes], [am_CXX_is_GNU=no])
-- 
2.33.0





Information forwarded to bug-automake <at> gnu.org:
bug#21336; Package automake. (Sun, 12 Dec 2021 23:13:02 GMT) Full text and rfc822 format available.

Message #13 received at 21336 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Mike Frysinger <vapier <at> gentoo.org>
Cc: 21336 <at> debbugs.gnu.org, automake-patches <at> gnu.org
Subject: Re: [PATCH] configure: handle KCC on case-insensitive filesystems
Date: Sun, 12 Dec 2021 15:12:22 -0800
On Thu, Dec 9, 2021 at 10:56 PM Mike Frysinger <vapier <at> gentoo.org> wrote:
> This fixes https://debbugs.gnu.org/21336.  On macOS 10.10, there seems

Note that I still see kcc on 12.0.1

> to be a kerberos tool installed as "kcc" which breaks the check.
>
> Also resync with latest autoconf which searches for clang++ too.
>
> * configure.ac: Skip KCC check on case-insensitive filesystems.  Add
> clang++ to the C++ search list.

Modulo that log nit, this commit looks fine. Thanks!




Information forwarded to bug-automake <at> gnu.org:
bug#21336; Package automake. (Mon, 13 Dec 2021 02:09:01 GMT) Full text and rfc822 format available.

Message #16 received at 21336 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: vapier <at> gentoo.org
Cc: 21336 <at> debbugs.gnu.org, automake-patches <at> gnu.org
Subject: Re: [PATCH] configure: handle KCC on case-insensitive filesystems
Date: Sun, 12 Dec 2021 19:08:52 -0700
    Subject: [PATCH] configure: handle KCC on case-insensitive filesystems

Pushed with doc tweak per Jim. Thanks.




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Mon, 13 Dec 2021 02:09:01 GMT) Full text and rfc822 format available.

Notification sent to "Daniel Macks" <dmacks <at> netspace.org>:
bug acknowledged by developer. (Mon, 13 Dec 2021 02:09:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 10 Jan 2022 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 111 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.