delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2023/08/26/01:51:16

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1FE6438582AC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1693029074;
bh=2GLq/8bLM6drhdcd46BhMk5QHcG8YcPbMLX72/Fe9jo=;
h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=NABvxSs29rNDYm9qxP4of/dYZT6gjxqZRV9dmOC6d35neJG0Ay1axV6D9Kg1tZSjK
nTn19Ws10U3JMGv4MgHycV3HvksrHebBgUltEMgYnpF24I+t6m7N2Q7LAs3RLwzDlh
hiRFd8O6XZZ+tzZEusd+B6J37yKp0zsoBxHN/zxw=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DFC893858C53
Subject: Re: can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8
To: cygwin AT cygwin DOT com
References: <83C27059-CB24-48F5-AC91-AB0622DF82CD AT Denis-Excoffier DOT org>
<aa38a12e-875a-bfaf-6427-2f8d05c0bc47 AT maxrnd DOT com>
<ZOh2lNSnYAJmZqUh AT calimero DOT vinschen DOT de>
Message-ID: <ff004ecd-0bd7-1886-bf81-88daa6b48f2a@maxrnd.com>
Date: Fri, 25 Aug 2023 22:50:25 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
Firefox/52.0 SeaMonkey/2.49.4
MIME-Version: 1.0
In-Reply-To: <ZOh2lNSnYAJmZqUh@calimero.vinschen.de>
X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, NICE_REPLY_A, SPF_HELO_NONE,
SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Mark Geisert via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Mark Geisert <mark AT maxrnd DOT com>
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

Hi Corinna,

Corinna Vinschen via Cygwin wrote:
> On Aug 24 14:39, Mark Geisert via Cygwin wrote:
>> Denis Excoffier via Cygwin wrote:
>>> Hello,
>>> When i try to compile coreutils-9.3 under cygwin-3.4.8 i get the following error messages (see below).
>>> There seems to be a kind of loop in the hierarchy of #includes.
>>> Moreover, with cygwin-3.4.7, this is ok. Also, if under cygwin-3.4.8 i remove the 2 #includes from /usr/include/sys/cpuset.h,
>>> this is also ok.
>>>
>>> Regards,
>>>
>>> Denis Excoffier.
>>>
[...compilation log excerpt elided here...]
> 
> Usually it's easily fixable. There's typically no loop because
> of the guards, e.g.
> 
>    #ifndef _SYS_CPUSET_H_
>    #define _SYS_CPUSET_H_
> 
> but some guarding can have side effects.
> 
> However, somebody needs to come up *at least* with a simple reproducer.

It can be reproduced by running 'cygport coreutils.cygport build' in a prep'd 
coreutils source directory e.g. /usr/src/coreutils-9.0-1.src .  Excerpt follows:

make[3]: Entering directory 
'/usr/src/coreutils-9.0-1.src/coreutils-9.0-1.x86_64/build'
   CC       lib/exclude.o
   CC       lib/exitfail.o
   CC       lib/fadvise.o
   CC       lib/creat-safer.o
In file included from /usr/include/sys/signal.h:23,
                  from /usr/include/signal.h:6,
                  from ./lib/signal.h:52,
                  from /usr/include/time.h:158,
                  from ./lib/time.h:47,
                  from ./lib/sys/stat.h:44,
                  from ./lib/fcntl.h:64,
                  from ./lib/unistd.h:81,
                  from ./lib/stdlib.h:100,
                  from /usr/include/sys/cpuset.h:12,
                  from /usr/include/sys/_pthreadtypes.h:12,
                  from /usr/include/sys/types.h:221,
                  from ./lib/sys/types.h:39,
                  from ./lib/stdio.h:58,
                  from 
/usr/src/coreutils-9.0-1.src/coreutils-9.0-1.x86_64/src/coreutils-9.0/lib/exclude.c:31:
/usr/include/cygwin/signal.h:121:3: error: unknown type name 'pthread_attr_t'
   121 |   pthread_attr_t *sigev_notify_attributes; /* notification attributes */
       |   ^~~~~~~~~~~~~~
In file included from /usr/include/signal.h:6,
                  from ./lib/signal.h:52,
                  from /usr/include/time.h:158,
                  from ./lib/time.h:47,
                  from ./lib/sys/stat.h:44,
                  from ./lib/fcntl.h:64,
                  from ./lib/unistd.h:81,
                  from ./lib/stdlib.h:100,
                  from /usr/include/sys/cpuset.h:12,
                  from /usr/include/sys/_pthreadtypes.h:12,
                  from /usr/include/sys/types.h:221,
                  from ./lib/sys/types.h:39,
                  from ./lib/stdio.h:58,
                  from 
/usr/src/coreutils-9.0-1.src/coreutils-9.0-1.x86_64/src/coreutils-9.0/lib/exclude.c:31:
/usr/include/sys/signal.h:227:29: error: expected ')' before 'int'
   227 | int pthread_kill (pthread_t, int);
       |                             ^~~~
       |                             )
In file included from /usr/include/sys/stat.h:22,
                  from ./lib/sys/stat.h:47,
                  from ./lib/fcntl.h:64,
                  from ./lib/unistd.h:81,
                  from ./lib/stdlib.h:100,
                  from /usr/include/sys/cpuset.h:12,
                  from /usr/include/sys/_pthreadtypes.h:12,
                  from /usr/include/sys/types.h:221,
                  from ./lib/sys/types.h:39,
                  from ./lib/stdio.h:58,
                  from 
/usr/src/coreutils-9.0-1.src/coreutils-9.0-1.x86_64/src/coreutils-9.0/lib/exclude.c:31:
/usr/include/cygwin/stat.h:27:3: error: unknown type name 'timestruc_t'
    27 |   timestruc_t   st_atim;
       |   ^~~~~~~~~~~
/usr/include/cygwin/stat.h:28:3: error: unknown type name 'timestruc_t'
    28 |   timestruc_t   st_mtim;
       |   ^~~~~~~~~~~
/usr/include/cygwin/stat.h:29:3: error: unknown type name 'timestruc_t'
    29 |   timestruc_t   st_ctim;
       |   ^~~~~~~~~~~
/usr/include/cygwin/stat.h:32:3: error: unknown type name 'timestruc_t'
    32 |   timestruc_t   st_birthtim;
       |   ^~~~~~~~~~~

I've trimmed the errors back to just those from compiling lib/exclude.c.  This is 
new breakage in 3.4.8 (per Denis) and corresponds to the new in 3.4.8 #includes 
added to /usr/include/sys/cpuset.h.

I guess it's the include search order that has ./lib/stdlib.h being included from 
sys/cpuset.h rather than the "<stdlib.h>" coded there.

I'm not familiar with building coreutils.  But it seems something about the new 
#includes added to sys/cpuset.h have upset coreutils' build magic.  My offer to 
replace the two problematic #includes with two explicit extern statements still 
stands ;-).

..mark

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019