X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E8F603945C04
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1586191403;
	bh=0lzFpacvnewaXNGps6rWQGK/796nNWeHigIlFM+o1q8=;
	h=Subject:From:To:Date:In-Reply-To:References:List-Id:
	 List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
	 From;
	b=MuhWlEBrVLNIC8lgdEAZGx2OCtdCL2y4nk9wbeP/3Wc6LBx7bv2phN2NhPDsDVV2+
	 EBZ770/Y/LCo8dWti4gXISSOPxyq1UjadiJAvo4JOmIBWN6q7Db1ldJ+BCJZcIpPuE
	 mzHcBzclC+5nDfxeibF64ocnVWLTBkadXijqPkts=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7751939450DC
Authentication-Results: sourceware.org;
 dmarc=none (p=none dis=none) header.from=cygwin.com
Authentication-Results: sourceware.org;
 spf=fail smtp.mailfrom=yselkowitz@cygwin.com
X-MC-Unique: RC5T5_0vNROjSOMye4t-Rg-1
Message-ID: <d3472ddccf51a09a317edc1e02f27e1467536b76.camel@cygwin.com>
Subject: Re: Mingw pkg-config not working
From: Yaakov Selkowitz <yselkowitz@cygwin.com>
To: cygwin@cygwin.com
Date: Mon, 06 Apr 2020 12:43:14 -0400
In-Reply-To: <CADt9577VUAbaywvRUHqOjVyo4t=n+Sm__7Y3o9_LcrU7PRLVoA@mail.gmail.com>
References: <CADt9575vSTf9aS2opTotUhnsYRkuure145TYkTkBFzw6pTtzhA@mail.gmail.com>
 <9f22993d-13d1-de2e-74ff-e9d08ec504ed@dronecode.org.uk>
 <CADt9576AyQPB+CZ2ZbvOUaV9siV7UZDxhw9hRkzYbadHVuwUWw@mail.gmail.com>
 <CADt9577VUAbaywvRUHqOjVyo4t=n+Sm__7Y3o9_LcrU7PRLVoA@mail.gmail.com>
User-Agent: Evolution 3.34.4 (3.34.4-1.fc31)
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: cygwin.com
X-Spam-Status: No, score=-9.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NEUTRAL,
 TXREP autolearn=no autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <http://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

On Sun, 2020-04-05 at 15:51 +0200, Carlo B. via Cygwin wrote:
> I wanted to report that I received a reply on the issue that I had opened here:
> 
> https://todo.sr.ht/~kaniini/pkgconf/10#comment-7894

Thanks for following up.

> The report has been closed and I got this reply:
> 
> "You should use a symlink instead of a wrapper script when using the
> personality feature."
> 
> I hope that somebody has understood what he means (posix is not
> exactly my primary platform) and it could be useful for fixing the
> issue.

Yes, that gave me the information I needed.  There is actually code
within pkgconf to automatically load $PREFIX.personality when called as
$PREFIX-pkg-config.  This requires a packaging change on our end, which
I'm incorporating into the latest release.

> Il giorno gio 26 mar 2020 alle ore 14:07 Carlo B.
> <carlo.bramini@gmail.com> ha scritto:
> > Hello,
> > I implemented the solution to this problem as a patch to
> > pkgconf.cygport as requested.
> > I attached small patch to this email, which resolved the troubles with
> > CMake and Meson.
> > I hope that you will find it useful and  some developers will gently
> > apply the correction to fix the issue.
> > 
> > Thank you very much for your time and your support.
> > Sincerely,
> > 
> > Carlo Bramini.
> > 
> > Il giorno sab 22 feb 2020 alle ore 18:47 Jon Turney
> > <jon.turney@dronecode.org.uk> ha scritto:
> > > 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

--
Yaakov


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