From patchwork Thu Jan 30 14:07:15 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Soloff, Steven M Belcan Engineering Group, Cincinnati, Ohio" X-Patchwork-Id: 315365 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 1E10D2C00D2 for ; Fri, 31 Jan 2014 01:23:06 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:content-type :content-transfer-encoding:subject:date:message-id:in-reply-to :references:from:to; q=dns; s=default; b=NoTL+rR0gnmLnyYtgW5hdRz /ehSvg10VJUhDlMDwvspSYzJXl9IVBqgKi4IpjHj58yQ/ZwupYbwibYcQWO3tY2G ORok3DLrfAxI1Pk+B+xT2aFcH8LnJ9o1/PJnOaSuyxqAbgOFDaj4KAZ2VHWZZPDR mJKMg0bop17Jy8oqwjq8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:content-type :content-transfer-encoding:subject:date:message-id:in-reply-to :references:from:to; s=default; bh=NOvqFWralT7V2LZcdFQrHhvpnwI=; b= n06eQry0Vf4+LLVa6Sn2kd33EdccLYm2yGC6rFUtbWxD4n9552FSFV6EXsABJGkn yELGM0cBixFZUba0l8t9i3+r2rXWztsHa1IkDWXLvD4RCMYWSjln81QZ2DL2cUp7 ppiD8DXDDhat/zKHhAX2oQnz7tATbSLWfrpJbZ1DaoY= Received: (qmail 7732 invoked by alias); 30 Jan 2014 14:22:57 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Delivered-To: mailing list crossgcc@sourceware.org Received: (qmail 7721 invoked by uid 89); 30 Jan 2014 14:22:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mx0b-00105401.pphosted.com Received: from mx0b-00105401.pphosted.com (HELO mx0b-00105401.pphosted.com) (67.231.152.184) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Thu, 30 Jan 2014 14:22:55 +0000 Received: from pps.filterd (m0004641.ppops.net [127.0.0.1]) by mx0b-00105401.pphosted.com (8.14.5/8.14.5) with SMTP id s0UEMqF1025415 for ; Thu, 30 Jan 2014 09:22:53 -0500 Received: from xmnpv31.utc.com (xmnpv31.utc.com [159.82.164.211]) by mx0b-00105401.pphosted.com with ESMTP id 1hqm38f2b7-1 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=OK) for ; Thu, 30 Jan 2014 09:22:52 -0500 Received: from pps.filterd (XMNPV31.utc.com [127.0.0.1]) by XMNPV31.utc.com (8.14.5/8.14.5) with SMTP id s0UDu3xX005181 for ; Thu, 30 Jan 2014 09:22:38 -0500 Received: from uusmna1r.utc.com (uusmna1r.utc.com [159.82.219.64]) by XMNPV31.utc.com with ESMTP id 1hpmjj16ep-1 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for ; Thu, 30 Jan 2014 09:22:30 -0500 Received: from PUSMNG03.pwemail.us (pusmng03.pwemail.us [10.29.133.17]) by uusmna1r.utc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s0UE7KFE015084 for ; Thu, 30 Jan 2014 09:07:20 -0500 Received: from PUSMNEI1.pwemail.us ([10.29.133.138]) by PUSMNG03.pwemail.us with Microsoft SMTPSVC(6.0.3790.4675); Thu, 30 Jan 2014 09:07:20 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: crosstool-ng 1.19.0 fails to build i686-unknown-mingw32 Date: Thu, 30 Jan 2014 09:07:15 -0500 Message-ID: <4F66624F960F3746BB0263581CC9CE83040B7E11@PUSMNEI1.pwemail.us> In-Reply-To: <081118858EAEC94C9E4EE628510B31CD13227DF1@exchange10.valvesoftware.com> References: <081118858EAEC94C9E4EE628510B31CD13227DF1@exchange10.valvesoftware.com> From: "Soloff, Steven M Belcan Engineering Group, Cincinnati, Ohio" To: X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1305240000 definitions=main-1401300066 X-IsSubscribed: yes This apparently broke beginning with GCC 4.6.0. I didn't track down the root cause of the change in the GCC build process that required the sysroot files to be accessible during the pass-1 compiler build. However, the existence of the sysroot/mingw directory is not sufficient -- the headers need to be there, as well. Taking a cue from the patch referenced by Drew, I instead modified scripts/build/libc/mingw.sh by moving the contents of do_libc_start_files() to the end of do_libc_extract() [1], which should only affect MinGW targets. I verified I could build a MinGW target using GCC 4.5.3 (i686) and 4.8.1 (i686 and x86_64) using a patched crosstool-ng 1.19.0. However, I doubt this is the optimal solution. Seeing the "Installing C library headers" step during the "Extracting and patching toolchain components" step just smells bad. I'd appreciate any suggestions from the devs for a better fix that I could submit. Thanks, Steve [1] -----Original Message----- From: Ray Donnelly [mailto:mingw.android@gmail.com] Sent: Monday, January 20, 2014 4:19 PM To: Drew Bliss Cc: crossgcc@sourceware.org Subject: Re: crosstool-ng 1.19.0 fails to build i686-unknown-mingw32 mkdir -p .. of course! On Tue, Jan 21, 2014 at 12:18 AM, Ray Donnelly wrote: > As a workaround you can make the parent directory before commencing the build: > > mkdir > /home/user/x-tools/i686-unknown-mingw32/i686-unknown-mingw32/sysroot/m > ingw > > > On Mon, Jan 20, 2014 at 11:50 PM, Drew Bliss wrote: >> This is the same issue that Daniel Pauli mailed about in Mar 2013 but there didn't seem to be a reply. Does anybody know what the problem is here? >> >> From: Daniel Pauli >> To: crossgcc at sourceware dot org >> Date: Wed, 6 Mar 2013 19:47:25 +0100 >> Subject: crosstool-ng 1.18.0 fails to build i686-unknown-mingw32 for >> gcc 4.7.2 Hey there >> >> I'm trying to build the i686-unknown-mingw32 sample for gcc 4.7.2 but >> it fails at the following step: >> >> [ALL ] The directory that should contain system headers does not exist: >> [ALL ] /home/user/x-tools/i686-unknown-mingw32/i686-unknown-mingw32/sysroot/min gw/include >> [ERROR] make[2]: *** [stmp-fixinc] Error 1 >> [ALL ] rm gcc.pod >> [ALL ] make[2]: Leaving directory >> `/home/user/crosstool-ng-1.18.0/test/.build/i686-unknown-mingw32/build/b uild-cc-core-pass-1/gcc' >> [ERROR] make[1]: *** [all-gcc] Error 2 >> [ALL ] make[1]: Leaving directory >> `/home/user/crosstool-ng-1.18.0/test/.build/i686-unknown-mingw32/build/b uild-cc-core-pass-1' >> [ERROR] >> [ERROR] >> >> [ERROR] >> Build failed in step 'Installing pass-1 core C compiler' >> [ERROR] >> called in step '(top-level)' >> [ERROR] >> >> [ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257] >> [ERROR] >> called from: do_cc_core_backend[scripts/build/cc/gcc.sh@448] >> [ERROR] >> called from: do_cc_core_pass_1[scripts/build/cc/gcc.sh@101] >> [ERROR] >> called from: main[scripts/crosstool-NG.sh@632] >> >> >> -- >> For unsubscribe information see http://sourceware.org/lists.html#faq >> --- For unsubscribe information see http://sourceware.org/lists.html#faq --- a/scripts/build/libc/mingw.sh +++ b/scripts/build/libc/mingw.sh @@ -11,13 +11,7 @@ do_libc_extract() { CT_Pushd "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/" CT_Patch nochdir mingw-w64 "${CT_WINAPI_VERSION}" CT_Popd -} -do_libc_check_config() { - : -} - -do_libc_start_files() { local -a sdk_opts CT_DoStep INFO "Installing C library headers" @@ -56,6 +50,14 @@ do_libc_start_files() { CT_EndStep } +do_libc_check_config() { + : +} + +do_libc_start_files() { + : +} + do_libc() { CT_DoStep INFO "Building mingw-w64 files" -----Original Message----- From: Drew Bliss [mailto:drewb@valvesoftware.com] Sent: Monday, January 20, 2014 7:32 PM To: 'crossgcc@sourceware.org' Subject: RE: crosstool-ng 1.19.0 fails to build i686-unknown-mingw32 The x-tools directory appears to be cleaned up and recreated when running ct-ng build, so any manually created directory is gone by the time it gets to the point of needing it. Back in Aug 2012 the same issue was reported with 1.16 and a user said that this patch reordering steps fixed the problem. It doesn't appear to fix it with 1.19, plus the patch was considered undesirable since it breaks non-mingw builds. --- a/lib/ct-ng.1.16.0/steps.mk 2012-08-06 14:55:00.848409671 +0200 +++ b/lib/ct-ng.1.16.0/steps.mk 2012-08-06 14:39:24.736900247 +0200 @@ -36,9 +36,9 @@ binutils_for_host \ elf2flt_for_host \ sstrip_for_host \ + libc_start_files \ cc_core_pass_1 \ kernel_headers \ - libc_start_files \ cc_core_pass_2 \ libc \ cc_for_build \