delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/04/06/12:44:04

X-Recipient: archive-cygwin AT delorie DOT 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 AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT 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 AT cygwin DOT 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 AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Date: Mon, 06 Apr 2020 12:43:14 -0400
In-Reply-To: <CADt9577VUAbaywvRUHqOjVyo4t=n+Sm__7Y3o9_LcrU7PRLVoA@mail.gmail.com>
References: <CADt9575vSTf9aS2opTotUhnsYRkuure145TYkTkBFzw6pTtzhA AT mail DOT gmail DOT com>
<9f22993d-13d1-de2e-74ff-e9d08ec504ed AT dronecode DOT org DOT uk>
<CADt9576AyQPB+CZ2ZbvOUaV9siV7UZDxhw9hRkzYbadHVuwUWw AT mail DOT gmail DOT com>
<CADt9577VUAbaywvRUHqOjVyo4t=n+Sm__7Y3o9_LcrU7PRLVoA AT mail DOT gmail DOT 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 AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <http://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT 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 DOT bramini AT gmail DOT 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 DOT turney AT dronecode DOT org DOT 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

- Raw text -


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