From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119839 invoked by alias); 21 Apr 2017 18:25:40 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Received: (qmail 119805 invoked by uid 89); 21 Apr 2017 18:25:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-7.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=ray, Ray X-HELO: nm10-vm5.access.bullet.mail.bf1.yahoo.com Received: from nm10-vm5.access.bullet.mail.bf1.yahoo.com (HELO nm10-vm5.access.bullet.mail.bf1.yahoo.com) (216.109.114.212) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 21 Apr 2017 18:25:36 +0000 Received: from [66.196.81.162] by nm10.access.bullet.mail.bf1.yahoo.com with NNFMP; 21 Apr 2017 18:25:36 -0000 Received: from [98.138.226.241] by tm8.access.bullet.mail.bf1.yahoo.com with NNFMP; 21 Apr 2017 18:25:36 -0000 Received: from [127.0.0.1] by smtp112.sbc.mail.ne1.yahoo.com with NNFMP; 21 Apr 2017 18:25:36 -0000 X-Yahoo-SMTP: 0h0Q7euswBD_g.kcEqbzJWRFfrba801gq1M1 Subject: Re: AW: canadian build for mingw host: patch for gettext 0.19.8.1 To: Titus von Boxberg References: <7ea27c306b3f497ab4c37205eea380a0@SOLOWJOW.ELBE.local> Cc: crossgcc maillist From: Alexey Neyman Message-ID: <01e4a9f3-eade-4387-bf95-c0cf5cb59070@att.net> Date: Fri, 21 Apr 2017 18:25:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <7ea27c306b3f497ab4c37205eea380a0@SOLOWJOW.ELBE.local> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2017-04/txt/msg00021.txt.bz2 On 04/21/2017 10:59 AM, Titus von Boxberg wrote: > Alexey, all, > > see below: > >> -----Ursprüngliche Nachricht----- >> Von: Alexey Neyman [mailto:stilor@att.net] >> Gesendet: Freitag, 21. April 2017 18:17 >> An: Titus von Boxberg >> Cc: crossgcc maillist >> Betreff: Re: canadian build for mingw host: patch for gettext 0.19.8.1 >> >> [CC crossgcc list] >> >> Hi Titus, >> >> First off, please send the emails the crossgcc mailing list, not to me >> personally - I may not be the only person interested in a certain patch, >> etc. >> >> >> On 04/21/2017 04:12 AM, Titus von Boxberg wrote: >>> Hi Alexey, >>> >>> I had to use the patch below to let ct-ng build gettext 0.19.8.1 for host >> mingw. >>> I don't use mingw nor gettext at all (besides for running a cross gcc >>> on windows), so I don't really understand why it's required (or rather why >> mingw defines asprintf). >> asprintf is more or less common function now. >> >> Can you describe how you set up the mingw host? I'd like to add it to our >> docs and add that to our testing regimen. > I use a (rather old) i686-w64-mingw32 cross compiler from Linux to mingw. > gcc version 4.7.2 What do you use as a shell, etc? Cygwin? >> As to the patch itself, what was the problem with using asprintf from >> mingw's libraries? A build log fragment would be helpful. > gettext contains three definitions of asprintf in three files asprintf.c > These conflict with a static implementation of asprintf in mingw header stdio.h > As I said: Unfortunately, I don't have a clue about gettext and mingw. I looked at mingw's and I see what the problem is. The function is actually not static - had it been, e.g., 'static inline', it wouldn't have conflicted with a built-in implementation of asprintf(). So, the patch makes sense, but I am not sure if it should be fixed by mingw instead. > >>> I took the idea for the patch from >>> https://lists.freedesktop.org/archives/gstreamer-commits/2015-November >>> /090748.html >>> >>> Second, it looks strange to me that gettext is built at all for the host. >>> gettext is _NEEDED by glibc. >> It is needed to enable localization in the toolchain components. I haven't >> tested that area much myself, though. > Yes, but I disabled NLS. > >> And, I think you got it exactly the other way. gettext is not *needed* by >> glibc, it is *a part of glibc*. We only build it for *non-glibc* >> hosts/targets. > By "_NEEDED" I meant the ct-ng variable GETTEXT_NEEDED I see. The commit message states: commit 9e81836b8124efd11805e8050034492a8831208b Author: Ray Donnelly Date: Sat Oct 24 01:49:56 2015 +0100 Add gettext and libiconv as companion libs .. they're needed for the RPC generation in glibc on both Cygwin and MinGW-w64. So apparently, the cross_rpcgen (on *build*, rather than *host*) needs it. In case of a simple cross, of course, build==host. > This is set when choosing NLS, and when choosing glibc for target, > at least according to config/libc/glibc. > Anyway, I have > # CT_TOOLCHAIN_ENABLE_NLS is not set > and > CT_GETTEXT_NEEDED=y > in my .config > >>> For the target: OK, may it be so. But why for the host? glibc >>> shouldn't have anything to do with the host? Is that correct? >> Hint: not all our supported hosts are glibc-based. If you look at the build >> script, you'll notice that gettext is skipped if the host is *-linux-gnu*. > Again, I'm afraid I don't get it. > I'd assume that when I disable NLS gettext is not needed for the host. Apparently, not just NLS - see above. Regards, Alexey.