From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2130.outbound.protection.outlook.com [40.107.243.130]) by sourceware.org (Postfix) with ESMTPS id A66203858D35 for ; Sat, 1 Aug 2020 18:01:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A66203858D35 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AV980LmfrenLVF4jfcTpKbLAuPmQsi7BFF6oLkeAZL/81W38zGIGaeptB+b5sXUpmb6nrbvETbZPcMSWbz3NJ8KGGunR9YsRBfZ82zy7V+DHrC+DCpTw+GixsiCIZmBCBQvgdAutFdqywhFx0Ja4xQU7E16/KB6mBF7UxMOq6Smj0PdzF+0rVDK+ZCE3A+WWC1mKfF9VOh5bw8bX+ZIm0lPuRp+zYnEChgWzD/cFeTdfwGt88MjdR6q+9jpRJ/q3VnavkBvky6FBo6lWABAE33Cewb3rDolmOpMJIjTbA+B+uiQuh7OFIsw9adlQotl8/UrA3hgRYg02eyfAEBlKgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=moUNT7eK/0k/j4iLm0iihaNE4dm/dsYGqLnd14IyEcY=; b=iq1DFQHXVSxRJ3bCcVRrDjksXh3aagF6CWl2WxzUmPWMo50YB1Z/ZUaSX5YQ02ieD3IVbuv7l7TM6KoEhbSnkX93CVo3JgZljm+Xa65TArFxpawLqm/vU9drB3vakF/kzlMfBkHHtDWyQYyogUg77OeP8xnKH4cCubPfwNHMQxZ4PIFfK40YntkvvTcciTBhpOctTY1lg1pMkbT9i0KzbD1FnEr+ubhn7fQA98lUz+bq7lP/U0DRsCIDdkad1RvIA/TLg4m2gFfkXdrkyCQNaTxQyTfgpYQ57FqeVa+fekgpr6OMSpk4ilG7D9vzCoimKfjoExG03noTkarGpP/Maw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none Received: from MN2PR04MB6176.namprd04.prod.outlook.com (2603:10b6:208:e3::13) by MN2PR04MB5725.namprd04.prod.outlook.com (2603:10b6:208:a2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.21; Sat, 1 Aug 2020 18:01:16 +0000 Received: from MN2PR04MB6176.namprd04.prod.outlook.com ([fe80::184d:a265:1d48:499a]) by MN2PR04MB6176.namprd04.prod.outlook.com ([fe80::184d:a265:1d48:499a%7]) with mapi id 15.20.3239.021; Sat, 1 Aug 2020 18:01:16 +0000 Subject: Re: Help needed with gobject-introspection To: cygwin-apps@cygwin.com References: <2c0802e9-e66c-768e-61f2-f2797acc1acb@cornell.edu> <7837c562-f96c-3084-40f8-1a52afcebdf5@dronecode.org.uk> <429779d8-dc38-2f75-bd3e-42f898941483@cornell.edu> <6703fe25-ba53-68c7-c398-843b2a8295dc@dronecode.org.uk> <93b48fc8-61f9-ce33-ac76-0e6cc56aa18c@dronecode.org.uk> <62ba273e-4eed-6578-32e5-8cd24fe25c3f@dronecode.org.uk> <3d2cb151-e243-a539-32f0-ffa40be78745@dronecode.org.uk> <0d6292b3-72df-e6ad-fcc5-f03bbf923087@dronecode.org.uk> <4f5d1485-cf5a-8535-2923-5d31be901741@cornell.edu> <5fb4bf89-58a5-88cb-c2cb-29cfef65ffc1@dronecode.org.uk> <0876122c-1c1e-54e0-1a18-0c3774e71641@cornell.edu> <4345fbc7-0c30-9335-46a8-bfe2ae79a8bc@dronecode.org.uk> From: Ken Brown Message-ID: Date: Sat, 1 Aug 2020 14:01:14 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 In-Reply-To: <4345fbc7-0c30-9335-46a8-bfe2ae79a8bc@dronecode.org.uk> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-ClientProxiedBy: CH2PR10CA0017.namprd10.prod.outlook.com (2603:10b6:610:4c::27) To MN2PR04MB6176.namprd04.prod.outlook.com (2603:10b6:208:e3::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2604:6000:b407:7f00:4466:be5e:9007:bcd3] (2604:6000:b407:7f00:4466:be5e:9007:bcd3) by CH2PR10CA0017.namprd10.prod.outlook.com (2603:10b6:610:4c::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17 via Frontend Transport; Sat, 1 Aug 2020 18:01:15 +0000 X-Originating-IP: [2604:6000:b407:7f00:4466:be5e:9007:bcd3] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af6340b3-7fa6-4fca-fb91-08d83644e278 X-MS-TrafficTypeDiagnostic: MN2PR04MB5725: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xPH6sKcryze5LfkEfLHZRcW3Sp+p0xqmwdDhm4cvWzkGCMgO2LoQF7p5Yd7b2m22ytdQUtjrWkSMCPkUJVrCamf8qN1qbsaveRhjY+W+r5vNoX2h6nWsk8Yb/EorhCkstxF5LLQbctMuK+fpdreWwWV5Mjcf3eB2R95nDGKQQTssPVK2l77NtmI39RKL4rsW2M/o4/ef8/mUbAoG7t4P7AWxpKjptqjuAgeeUUjAHSIHpXIVPtt/iavdYvSVgCmZkbtAmrh+8FUn1rxGmaEDWT0uNwMNT3oSpTeBK0TLj2MMZup9el1nUCxqrojCeNy5H+o8N5SIekFXKcfwRPXcW2FHSph5f8d0/OfPkkkEykOOGALpqn++MOcP7PkTlw0cLCnDIkxBBDicBE/Y1YnriUdzJo9KK2dBfggGrd/qtGY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR04MB6176.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(366004)(136003)(396003)(376002)(346002)(786003)(316002)(2616005)(31686004)(19627235002)(52116002)(66946007)(53546011)(36756003)(8936002)(8676002)(31696002)(66476007)(6486002)(478600001)(86362001)(83380400001)(5660300002)(75432002)(66556008)(2906002)(16526019)(186003)(6916009)(43740500002)(460985005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: SXHs9jKGbXcJEnMl/SQMOEAdhsq8KLHKEH9UmgmB1qVBY57XSODScZclfE8aT7dor6YvE+FIfH4TFiMa8ldf9crzGSWyXI5LZHjlQYV6ILNMZ5A28zOMOC+vG0Qge3CE1dajEaw61FfWX/+497yRkGJ1lKChXv6KfNgUVlWMaJk1tgliD//j4WbCJi/3wbKUIg4XfS1tG3vsfECKwQqpKtAjwHQbRLrHllaCDD72q7DTYcuWZp2GOMT0SjIB/uqoB3ADmFN3/bCgeCsTycxPwekR54SIZG4PvJY684q1SGyPhV6ZxF3g69/snU3Ffgvr676iOALmAvuzv23llbIAIArwLVCvnvrYwSwukECOqDDUoDI4y51+FwLb2Mg4yL/hyFCqS8FLn0wmlRgrl1kfDqkK7UhlfRt9+NpJPelfV9x9CfZopwGAmVakTnKWR4TaTESz4DSXdg0YppcOm7IVb786c8Fn3osBIYfAsNM2EZxXyvQTKpRJYvoP8PvOXWJFhLdKXh+/OQAjBf5uH60TW6ZpDI/B97a6YPAo99X/QP4Bfa0pRLDLZlQfWXaVNFyt4Xqou5JeklxF+55y3RUFdKWxZlfXQW3JUxOV/wCHHi0mNJK0eKI6tSGJ9Dkdrh4CL7F6P90YcQFQws9CvJRN8g0NltAygisQcPejQBmX+1h/PVaciZLbD8Gxr66wmf3A/ANUu1kQ9mQAjlEMaOjVWw== X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: af6340b3-7fa6-4fca-fb91-08d83644e278 X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB6176.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2020 18:01:15.9450 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +wifmM0voJONUwVUL+/YMODibn1ePMW13QveO2/ckkJNrB41eFCoh6xNv3J6wt/PgHhSGd5SzzDKGC9DSrsB7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB5725 X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_INVALID, DKIM_SIGNED, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, 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-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 18:01:19 -0000 On 6/11/2020 5:39 PM, Jon Turney wrote: > > On 06/06/2020 15:15, Ken Brown via Cygwin-apps wrote: >> >> I think I might have bumped into another meson/introspection/pickling bug, >> this time in connection with harfbuzz.  The supported build system for >> harfbuzz is still autotools.  But they're planning to move to meson, so I >> decided to get a head start and try the meson build, which fails as follows: >> >> [230/257] Generating HarfBuzz-0.0.gir with a meson_exe.py custom command >> FAILED: src/HarfBuzz-0.0.gir >> /usr/bin/meson --internal exe --unpickle >> /tmp/harfbuzz-2.6.7/build/meson-private/meson_exe_g-ir-scanner_2a1d762c64dc7a0dcba76211733b53a4f7f14918.dat >> >> [...] >> ERROR: can't resolve libraries to shared libraries: harfbuzz-gobject >> g-ir-scanner: link: cc -o >> /tmp/harfbuzz-2.6.7/build/tmp-introspectKdIYKJ/HarfBuzz-0.0.exe >> /tmp/harfbuzz-2.6.7/build/tmp-introspectKdIYKJ/HarfBuzz-0.0.o -L. -lharfbuzz >> -lharfbuzz-gobject -lm -lglib-2.0 -lintl -lgobject-2.0 -lcairo -lfreetype >> -lgraphite2 -lfontconfig -L/tmp/harfbuzz-2.6.7/build/src >> -Wl,-rpath,/tmp/harfbuzz-2.6.7/build/src -L/tmp/harfbuzz-2.6.7/build/src >> -Wl,-rpath,/tmp/harfbuzz-2.6.7/build/src -L/tmp/harfbuzz-2.6.7/build/src >> -Wl,-rpath,/tmp/harfbuzz-2.6.7/build/src -lgio-2.0 -lgobject-2.0 >> -Wl,--export-all-symbols -lgmodule-2.0 -lglib-2.0 -lintl > [...] > > Thanks for the reproduction steps. > > To debug: hack meson to get it to disgorge the pickled command it's executing, > then you can run the failing g-ir-scanner command line while poking at things in > /usr/lib/gobject-introspection/giscanner/ > > This actually looks like a bug in 'g-ir-scanner --no-libtool' (which obviously > isn't usually exercised by an autotools build), failing in this particular case. > > It looks to match the following list of regexes: > >> ([^\s]*cyg*harfbuzz[^A-Za-z0-9_][^\s\(\)]*) >> ([^\s]*cyg*harfbuzz\-gobject[^A-Za-z0-9_][^\s\(\)]*) > > against ldd output like this, to extract the shared library names: > >>         ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff916d80000) >>         KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL >> (0x7ff916660000) >>         KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll >> (0x7ff914a20000) >>         cyggmodule-2.0-0.dll => /usr/bin/cyggmodule-2.0-0.dll (0x3e0590000) >>         cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000) >>         cygharfbuzz-gobject-0.dll => >> /work/harfbuzz-2.6.7/_build/src/cygharfbuzz-gobject-0.dll (0x4389e0000) >>         cyggio-2.0-0.dll => /usr/bin/cyggio-2.0-0.dll (0x3e0f40000) >>         cygglib-2.0-0.dll => /usr/bin/cygglib-2.0-0.dll (0x3e0870000) >>         cyggobject-2.0-0.dll => /usr/bin/cyggobject-2.0-0.dll (0x3dff50000) >>         cygharfbuzz-0.dll => /work/harfbuzz-2.6.7/_build/src/cygharfbuzz-0.dll >> (0x4408d0000) >>         cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3cf150000) >>         cygz.dll => /usr/bin/cygz.dll (0x3bc750000) >>         cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3dbec0000) >>         cygpcre-1.dll => /usr/bin/cygpcre-1.dll (0x4629a0000) >>         cygffi-6.dll => /usr/bin/cygffi-6.dll (0x3e3fd0000) >>         cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x50caa0000) >>         cygfreetype-6.dll => /usr/bin/cygfreetype-6.dll (0x451720000) >>         cyggraphite2-3.dll => /usr/bin/cyggraphite2-3.dll (0x5f6ba0000) >>         cygbz2-1.dll => /usr/bin/cygbz2-1.dll (0x3e9980000) >>         cygpng16-16.dll => /usr/bin/cygpng16-16.dll (0x3c58d0000) >>         cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x57b190000) > > Unfortunately, the first regex matches the cygharfbuzz-gobject line, leaving the > second regex unmatched. > > We have to allow a '-' to appear after the library name, as that introduces a > soversion, so I worked around this by patching > /usr/lib/gobject-introspection/giscanner/shlibs.c like this: > > --- shlibs.py~  2018-02-11 23:15:03.000000000 +0000 > +++ shlibs.py   2020-06-11 22:28:07.901294700 +0100 > @@ -62,7 +62,7 @@ >      if platform.system() == 'Darwin': >          pattern = "([^\s]*lib*%s[^A-Za-z0-9_-][^\s\(\)]*)" >      elif platform.platform().startswith('CYGWIN'): > -        pattern = "([^\s]*cyg*%s[^A-Za-z0-9_][^\s\(\)]*)" > +        pattern = "([^\s]*cyg%s[-.0-9]*\.[^\s\(\)]*)" >      return re.compile(pattern % re.escape(library_name)) > > But this all seems very fragile though, so I'm not sure if that's the right way > to fix this. Jon, No one has suggested a better fix, so I think we should get your fix into the distro. It's not urgent, because harfbuzz still supports both autotools and meson, but they're encouraging packagers to move toward meson. How do you think we should proceed? Are you interested in adopting gobject-introspection? Alternatively, one of us could do a non-maintainer upload while we wait for a volunteer. Ken