delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/02/22/12:48:40

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:cc:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=Z6CAvdGiR57qXr9M
wSl2gJyfBcXmmqiP94935HHSIRrkGjWfbp/m4IS/VBlhDU4miwVERwFCj/6tqqEy
ned/Aw2dkP/+GqhA31furILBE3zGCelBvpZ8Ateqc2e2LPrbHUSLv1dGGECJbR9G
Ewq+vVvJwToinlL2qsR06Bg8Wd0=
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:cc:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=dyJQxl6LjHyW1rGAxfhHvP
hRevo=; b=rUDH+LEN+4LxvDBsg/UHH518jN6BPKs7HctGbR8cl9Qg+LA8Ci+1XC
VYFkPO4Av/mEKFtg3zA1sGe03h+gAUFULT7T7cdkwCPO3vLXSz1B3nux681Zr+55
X93/zCaCPAfmTBMeH5Po2LibDxXOF31BNhDaGCsPwSmKiQVrJ9joA=
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-Spam-SWARE-Status: No, score=-5.5 required=5.0 tests=AWL,BAYES_00,FORGED_SPF_HELO,KAM_SHORT,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=no version=3.3.1 spammy=carlo, Carlo, discover, sadly
X-HELO: re-prd-fep-040.btinternet.com
Authentication-Results: btinternet.com; auth=pass (PLAIN) smtp.auth=jonturney AT btinternet DOT com
X-OWM-Source-IP: 31.51.207.12 (GB)
X-OWM-Env-Sender: jonturney AT btinternet DOT com
X-VadeSecure-score: verdict=clean score=0/300, class=clean
Subject: Re: Mingw pkg-config not working
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
References: <CADt9575vSTf9aS2opTotUhnsYRkuure145TYkTkBFzw6pTtzhA AT mail DOT gmail DOT com>
Cc: "Carlo B." <carlo DOT bramini AT gmail DOT com>
From: Jon Turney <jon DOT turney AT dronecode DOT org DOT uk>
Message-ID: <9f22993d-13d1-de2e-74ff-e9d08ec504ed@dronecode.org.uk>
Date: Sat, 22 Feb 2020 17:47:37 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <CADt9575vSTf9aS2opTotUhnsYRkuure145TYkTkBFzw6pTtzhA@mail.gmail.com>

On 20/02/2020 11:06, Carlo B. wrote:
[...]
> x86_64-w64-mingw32-pkg-config are emulated with a shell script, for
> example the one for i686 is:
> 
> #!/bin/sh
> exec pkgconf --personality=i686-w64-mingw32 $@
> 
> But while this solution mostly works when you exec it from the command
> line, it makes impossible to detect the presence of the tool from
> meson and cmake build systems.
> If you try to do this on the bash prompt, you get:
> 
> $ i686-w64-mingw32-pkg-config --version
> pkgconf: --version specified with other options or module names,
> assuming --modversion.
> Please specify at least one package name on the command line.
> 
> and this is exactly what happens with those build systems (and perhaps
> others, I don't know): it tries to call pkg-config with "--version"
> and it executes the above script that calls pkgconf. But sadly, the
> presence of the "--personality" option makes the process to fail,
> because the "--version" is currently allowed only when no other
> options are added.
> And, for this reason, meson and cmake fail the detection of the tool.
> 
> I have also filed an issue here for pkgconf:
> https://todo.sr.ht/~kaniini/pkgconf/10
> because the solution is actually to ignore the presence of the
> "--personality" option when the "--version" is written, but
> unfortunately I have not received any feedback.
> 
> So, I'm also writing here, with the hope that you could find a solution.
[...]

Thanks for reporting this issue.

I guess the alternative to fixing pkgconf would be to modify those 
wrapper scripts to detect when the parameters are just '--version' (or 
equivalent) and not use --personality in that case?

These wrapper scripts are specific to cygwin (generated by the cygport, 
see [1])

It's possible other distros have more sophisticated wrapper scripts, 
which avoid this problem?

If you do write or discover some improved wrapper scripts, a patch to 
[1] to update them would be appreciated.

[1] 
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/pkgconf.git;a=blob;f=pkgconf.cygport#l84

--
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