NetBSD Problem Report #52806

From www@NetBSD.org  Sun Dec 10 14:27:51 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 27E647A195
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 10 Dec 2017 14:27:51 +0000 (UTC)
Message-Id: <20171210142740.3994C7A260@mollari.NetBSD.org>
Date: Sun, 10 Dec 2017 14:27:40 +0000 (UTC)
From: venture37@geeklan.co.uk
Reply-To: venture37@geeklan.co.uk
To: gnats-bugs@NetBSD.org
Subject: libiberty build fails on Cygwin due to process.h not being available in the search path
X-Send-Pr-Version: www-1.0

>Number:         52806
>Category:       toolchain
>Synopsis:       libiberty build fails on Cygwin due to process.h not being available in the search path
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 10 14:30:00 +0000 2017
>Last-Modified:  Sun Dec 10 17:40:00 +0000 2017
>Originator:     Sevan Janiyan
>Release:        NetBSD-8
>Organization:
>Environment:
CYGWIN_NT-6.1 X61s 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64 Cygwin
>Description:
Attempting to build an amd64 release on Cygwin fails when building components from libiberty. The configure stage detects the availability of process.h (Cygwin specific header) and sets HAVE_PROCESS_H but the build process fails due to the header not being in its search path.

#    create  liblto_plugin/pex-unix.d
CC=/cygdrive/c/Users/Me/Downloads/src/obj/tooldir.CYGWIN_NT-6.1-2.9.0-x86_64/bin/x86_64--netbsd-gcc /cygdrive/c/Users/Me/Downloads/src/obj/tooldir.CYGWIN_NT-6.1-2.9.0-x86_64/bin/nbmkdep -f pex-unix.d.tmp  --   -std=gnu99   --sysroot=/cygdrive/c/Users/Me/Downloads/src/obj/destdir.amd64 -I/cygdrive/c/Users/Me/Downloads/src/external/gpl3/gcc/dist/include -I. -DHAVE_CONFIG_H -Dxstrdup=strdup -Dxexit=exit -Dxcalloc=calloc -Dxmalloc=malloc -Dxrealloc=realloc     /cygdrive/c/Users/Me/Downloads/src/external/gpl3/gcc/dist/libiberty/pex-unix.c &&  mv pex-unix.d.tmp pex-unix.d
--- dependall-libexec ---
--- dependall ---
--- dependall-external ---
/cygdrive/c/Users/Me/Downloads/src/external/gpl3/gcc/dist/libiberty/pex-unix.c:59:21: fatal error: process.h: No such file or directory
compilation terminated.
nbmkdep: compile failed.
*** [pex-unix.d] Error code 1

nbmake[9]: stopped in /cygdrive/c/Users/Me/Downloads/src/external/gpl3/gcc/lib/liblto_plugin
1 error


If I remove the check for process.h and rebuild, it fails because spawnve() and such are not found (because they're prototyped in process.h) 
>How-To-Repeat:
./build.sh -U -m amd64 release
>Fix:

>Audit-Trail:
From: coypu@sdf.org
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: toolchain/52806: libiberty build fails on Cygwin due to
 process.h not being available in the search path
Date: Sun, 10 Dec 2017 16:27:44 +0000

 What is your search path?
 gcc -E -Wp,-v - test.c

 where is process.h? where is e.g. stdio.h?

From: Sevan Janiyan <venture37@geeklan.co.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: toolchain/52806: libiberty build fails on Cygwin due to process.h
 not being available in the search path
Date: Sun, 10 Dec 2017 17:36:22 +0000

 On 10/12/2017 16:30, coypu@sdf.org wrote:
 >  What is your search path?
 >  gcc -E -Wp,-v - test.c

 97 %
 /cygdrive/c/Users/Me/Downloads/src/obj/tooldir.CYGWIN_NT-6.1-2.9.0-x86_64/bin/x86_64--netbsd-gcc
 -E -Wp,-v - test.c
 ignoring nonexistent directory "/usr/include/gcc-5"
 ignoring nonexistent directory "/usr/local/include"
 ignoring nonexistent directory
 "/cygdrive/c/Users/Me/Downloads/src/obj/tooldir.CYGWIN_NT-6.1-2.9.0-x86_64/lib/gcc/x86_64--netbsd/5.5.0/../../../../x86_64--netbsd/include"
 #include "..." search starts here:
 #include <...> search starts here:
  /cygdrive/c/Users/Me/Downloads/src/obj/tooldir.CYGWIN_NT-6.1-2.9.0-x86_64/lib/gcc/x86_64--netbsd/5.5.0/include-fixed
  /usr/include
 End of search list.

 >  where is process.h? where is e.g. stdio.h?

 process.h is in /usr/include

 The header of the file describes it as:
 /* cygwin/process.h.  Define spawn family of functions as provided by
 Cygwin.
    The original file of this name is a MS/DOS invention.

 This file is part of Cygwin.

 This software is a copyrighted work licensed under the terms of the
 Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 details. */

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.