From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11488 invoked by alias); 20 Feb 2020 11:06:24 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 11481 invoked by uid 89); 20 Feb 2020 11:06:23 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=Sincerely, player, sadly, media X-HELO: mail-il1-f171.google.com Received: from mail-il1-f171.google.com (HELO mail-il1-f171.google.com) (209.85.166.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 20 Feb 2020 11:06:21 +0000 Received: by mail-il1-f171.google.com with SMTP id p8so23334568iln.12 for ; Thu, 20 Feb 2020 03:06:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=WAyMv2en5T1LDAYrEs3wOfC/bKQsdjylHeZqKBVGi8I=; b=Uhr4ShrCJeXzYnmBaYiPWbRd+frxsftW87+JqCMuzImS0IXx24zBcHiaAjS6nZwqAR ybm1n4koDVk/QOgN5HYgE23t+TiFqf+wQp4L6QPZlySs9izV1kW6RNYjN5altazFjC1n PoL9I1jhFxTjskknHvE4FsG1BY6B+k6/I6ONov4HCouKDmtyh7LTwiOuclWb5Qy4WiRN MKQKcd9YzuJSpd9L88ipBuNLAYzp3DBywn5IHM+byCTF0R52VhqP4al8YjXb9PNiSnPy 4UNbiki1DR78SdxR7NmYeA1q6kcmEpGA8X3hUXuMM76437AOnoV+G4EpaE8KnORNjA5n NkwQ== MIME-Version: 1.0 From: "Carlo B." Date: Thu, 20 Feb 2020 11:06:00 -0000 Message-ID: Subject: Mingw pkg-config not working To: cygwin@cygwin.com Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00168.txt.bz2 Hello, I discovered that the mingw cross compilers for i686 and x86-64 have a problem with support of pkg-config. From what I have seen, the mingw included into CYGWIN is not using the usual pkg-config, but it uses pkgconf instead, which is a good thing at first sight, since it does not depend to GLib. Unfortunately, this introduces a problem: the traditional i686-w64-mingw32-pkg-config and 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. This behavior is easy to verify, just write that command at the prompt of the shell, or try to build something that uses the detection of the tool: in my case, I found it when I tried to build the audacious media player from sources. Thank you very much for your time and your support. Sincerely. -- 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