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: Subject: Re: Mingw pkg-config not working From: Yaakov Selkowitz To: cygwin AT cygwin DOT com Date: Mon, 06 Apr 2020 12:43:14 -0400 In-Reply-To: References: <9f22993d-13d1-de2e-74ff-e9d08ec504ed AT dronecode DOT org DOT uk> 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 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" 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. > 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 > > 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