delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/08/21/18:19:19

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=vi2KyHQXl7u1hbZ4
Adq7rsCTksVKaU+wuSVNNhczi50XW9xwuzN9uLtejmlj8mDChJd5XWA1GNMLnwP+
djKQw7OL4uS4mJY/Q4T4MdUUqkcOppE7GeBag1lRMn9affLGA6GBPhlZyxjA6kkV
FbcfNftvg4lwymQKgQ2EehIjWUY=
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:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=isN+tT3dhWhW26s67v9fR3
5EekI=; b=NOBnklaIAqjah3gWYPLYZQjcdtXdO4dSnq9cmqxTzhnR+X56intjLR
HlmyW7cejaLjfej2wdcFC3GLZyXm1sCvWxPSeTrq3G3V9cAYucHAMVwM5EQXn9/E
49G0mytWbWBhcm6IVyLElBH9Cojm9qEp0Q3VdZbCCJYWY/+v1lgEU=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=Step, Nobody, glimpse, voila
X-HELO: mailout06.t-online.de
Subject: Re: GIT source build failure: wcwidth.c::_wcwidth misses __locale_cjk_lang()
To: cygwin AT cygwin DOT com, newlib AT sourceware DOT org
References: <9cd85e4f-ac3a-cd76-71bf-445d7676a312 AT t-online DOT de> <20160821103028 DOT n7via5q3t4xbusjx AT calimero DOT vinschen DOT de> <ac2b1ee9-4885-c321-e0f9-678acfda2d95 AT t-online DOT de> <20160821181524 DOT 3vwrbss34nt2wwqi AT calimero DOT vinschen DOT de>
From: =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= <HBBroeker AT t-online DOT de>
Message-ID: <7bd17767-26d1-8cc2-689b-8c60c8544ddb@t-online.de>
Date: Mon, 22 Aug 2016 00:18:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <20160821181524.3vwrbss34nt2wwqi@calimero.vinschen.de>
X-IsSubscribed: yes

[Now subscribed to newlib list to follow this there, too]

Hi Corinna, hi everyone on both lists

Am 21.08.2016 um 20:15 schrieb Corinna Vinschen:
> [CC newlib mailing list since it affects newlib in the first place]

> On Aug 21 14:28, Hans-Bernhard Bröker wrote:
>> Am 21.08.2016 um 12:30 schrieb Corinna Vinschen:

>> And while I'm at it: what _is_ the dependency handling here, anyway?  I
>> can't seem to find any.  Which could indeed explain the problem.

> That's because dependency handling is basically non-existing in newlib.

> Nobody added a patch yet to do that.  Newlib being open-source, there's
> of course nothing keeping anybody from adding it (*nudge*, *nudge*).

That wouldn't be so much a patch as a redesign, I'm afraid, because it's 
strongly tied to the following:

> A big problem for many people keeping them from provide patches to the
> configury is that newlib's build system still requires the automake
> --cygnus option, which isn't supported by automake for quite some time.

And one of the effects of --cygnus is: to enables option 
"no-dependencies", thus turning off dependency tracking.  Hrmpf.

So let's see how far I get trying to un--cygnusify newlib (as part of 
Cygwin):

1) Get rid of for'cygnus' options. In all 134 Makefile.am replace

	AUTOMAKE_OPTIONS = cygwin
by 	AUTOMAKE_OPTIONS = foreign no-installinfo no-dist
and delete cygnus from one or two AM_INIT([]) calls, too

2) autoupdate in newlib, using autoconf-2.69 and automake-1.15
3) autoreconf in newlib, using autoconf-2.69 and automake-1.15
4) run "make" in my build dir
5) touch libc/locale/setlocale.h
6) run "make" again

Et voila!  Step 6 now recompiles 4 files that depend on setlocale.h, 
then re-builds the libraries using them

7) Get a rough glimpse of what I did:

$ git diff --stat newlib | tail -1
  438 files changed, 264967 insertions(+), 101151 deletions(-)

Well, that's what you get for having generated files like Makefile.in, 
configure and aclocal.m4 in version control...


> The trick is to use an older versions of automake for rebuilding the
> configury.  I'm having goods results with this script, which can be
> called from newlib or the libc/libm subdirs:
>
>   #!/bin/bash
>   aclocal-1.12.2 -I. -I..
>   autoconf
>   automake-1.12.2 --cygnus --no-force

Side note: in a cygwin environment (or any that uses Gentoo's 
automake/autoconf wrapper scripts), this should be reducible to:

	WANT_AUTOMAKE=1.12 autoreconf -I. -I..

But I'm afraid the time this approach worked reliably may be nearing its 
end.  Automake-1.11/1.12 appears to be no longer fully compatible with 
current versions of Perl.  At least I don't remember having had error 
messages like this back when 1.12 or 1.11 were still on point:

main::scan_file() called too early to check prototype at 
/usr/bin/aclocal-1.11 line 644.

> The autoconf version actually doesn't matter much so I'm using 2.69.

That did not work for me. config/override.m4 insisted rather strictly 
that only 2.64 is allowed to be used.  I shredded lines 30ff. from that 
file to get past that one.

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

- Raw text -


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