public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: "cygwin-apps@cygwin.com" <cygwin-apps@cygwin.com>
Subject: Re: Help needed with gobject-introspection
Date: Thu, 21 May 2020 14:24:36 +0100	[thread overview]
Message-ID: <7837c562-f96c-3084-40f8-1a52afcebdf5@dronecode.org.uk> (raw)
In-Reply-To: <78ad982d-8cab-323d-8bc5-682f3f2bc11f@cornell.edu>

On 20/05/2020 15:50, Ken Brown via Cygwin-apps wrote:
> On 5/19/2020 7:04 PM, Ken Brown via Cygwin-apps wrote:
>> I would like to adopt gimp and related packages.  At the moment I'm 
>> having trouble with babl, which is needed for gegl0.4, which is needed 
>> for gimp.  The problem involves gobject-introspection.
>>
>> If I disable introspection, the build works fine.  This would be OK, 
>> since babl has been built without introspection for several years.  
>> But then the gegl0.4 build complains about the missing babl 
>> introspection files, so I would have to disable introspection there 
>> too, which hasn't been done in the past.
>>
>> So my preference is to figure out what the problem is and get the babl 
>> build working with introspection.  I'm attaching my cygport file and 
>> patch.
>>
>> Here's the failing command...
>>
>> /usr/bin/g-ir-scanner -I/usr/include/gobject-introspection-1.0 
>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT 
>> --no-libtool --namespace=Babl --nsversion=0.1 --warn-all --output 
>> babl/Babl-0.1.gir --c-include=babl.h 
>> '--identifier-filter-cmd=/usr/bin/python3 
>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/babl/identfilter.py' 
>> -DBABL_IS_BEING_COMPILED 
>> -I/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/babl 
>> -I/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl 
>> -I./. -I../. -I./babl/base/. -I../babl/base/. 
>> --filelist=/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl/4170c83@@babl-0.1@sha/Babl_0.1_gir_filelist 
>> --cflags-begin -fno-unsafe-math-optimizations 
>> -Wdeclaration-after-statement -Winit-self -Wmissing-declarations 
>> -Wmissing-prototypes -Wold-style-definition -Wpointer-arith -mmmx 
>> -msse -mfpmath=sse -I./. -I../. -I./babl/base/. -I../babl/base/. 
>> --cflags-end --library babl-0.1 
>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl 
>> --extra-library=m --extra-library=dl --extra-library=lcms2
>>
>> ...and the error message:
>>
>> g-ir-scanner: link: gcc -o 
>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/tmp-introspectCwCaUc/Babl-0.1.exe 
>> -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 
>> -fstack-protector-strong --param=ssp-buffer-size=4 
>> -fdebug-prefix-map=/tmp/cygbabl/babl-0.1.74-1.x86_64/build=/usr/src/debug/babl-0.1.74-1 
>> -fdebug-prefix-map=/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74=/usr/src/debug/babl-0.1.74-1 
>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/tmp-introspectCwCaUc/Babl-0.1.o 
>> -L. -lbabl-0.1 -lm -ldl -llcms2 
>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl 
>> -Wl,-rpath,/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl 
>> -lgio-2.0 -lgobject-2.0 -Wl,--export-all-symbols -lgmodule-2.0 
>> -lglib-2.0 -lintl
>> ERROR: can't resolve libraries to shared libraries: babl-0.1
>>
>> I don't understand the error message, because the command line contains
>>
>>    
>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl
>>
>> and that directory contains libbabl-0.1.dll.a and cygbabl-0.1-0.dll.  
>> I even tried adding that directory to my PATH to make sure the right 
>> cygbabl-0.1-0.dll would be found, but that didn't help.

This might possibly be related to the problem described in the comment for:

https://github.com/mesonbuild/meson/pull/2880/commits/8a27c08b05e4537d5061d30ddd8aad9dc52cf1c4

> By the way, in case you're wondering why I disabled the building of 
> docs, it's because I was getting a build failure there too.  I don't 
> know if this is related to the introspection failure.  The failing 
> command there is
> 
> /usr/bin/meson --internal exe --unpickle 
> /tmp/cygbabl/babl-0.1.74-2.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/meson-private/meson_exe_env_7bf39b99114d34540b83d26a5d8f097e05882836.dat 
> 
> cp: target 'docs/index.html.tmp' is not a directory
> 
> I don't know why it's not showing me the actual cp command that fails.  

I believe it's is an infelicity in meson that it doesn't echo the actual 
failing command here.

Noted here: 
https://github.com/mesonbuild/meson/pull/3716#issuecomment-395746838

> The corresponding information in docs/meson.build is
> 
> Reference_html = custom_target('Reference.html',
>    input : [
>      'Reference-static.html',
>      'toc',
>      index_html_tmp,
>    ],
>    output: [ 'Reference.html', ],
>    command: [
>      env_bin,
>      'cp', '@INPUT0@', '@OUTPUT@',
>      '&&', xml_insert, '@OUTPUT@', 'TOC', '@INPUT1@',
>      '&&', xml_insert, '@OUTPUT@', 'BablBase', '@INPUT2@',
>    ],
>    build_by_default: true,
> )
> 
> There are several such custom targets in the file, and for all except 
> this one, I see the actual cp command in the log.  This is the only one 
> for which meson generates a 'meson --unpickle' command instead of a cp 
> command.

Yeah, I wasn't expecting it to use this method of executing the command 
line (storing it in a pickle and then using a python wrapper to execute 
it) to be used except on Windows, so I'll have to take a more detailed 
look at why that's happening.

  reply	other threads:[~2020-05-21 13:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-19 23:04 Ken Brown
2020-05-20 14:50 ` Ken Brown
2020-05-21 13:24   ` Jon Turney [this message]
2020-05-21 15:13     ` Ken Brown
2020-05-21 15:48       ` Jon Turney
2020-05-21 17:07         ` Ken Brown
2020-05-24 15:56           ` Jon Turney
2020-05-24 16:45             ` Ken Brown
2020-05-24 17:00               ` Ken Brown
2020-05-25 15:04                 ` Ken Brown
2020-05-29 15:56                   ` Jon Turney
2020-05-27 20:32             ` Ken Brown
2020-05-29 15:54               ` Jon Turney
2020-05-31 20:52                 ` Jon Turney
2020-05-31 23:58                   ` Ken Brown
2020-06-01 11:30                     ` Jon Turney
2020-06-02 14:26                       ` Jon Turney
2020-06-02 14:31                         ` Ken Brown
2020-06-02 21:28                           ` Jon Turney
2020-06-03 16:51                             ` Jon Turney
2020-06-03 18:30                               ` Ken Brown
2020-06-06 14:15                                 ` Ken Brown
2020-06-11 21:39                                   ` Jon Turney
2020-06-11 23:23                                     ` Ken Brown
2020-06-12 14:44                                       ` Jon Turney
2020-08-01 18:01                                     ` Ken Brown
2020-08-01 18:34                                       ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7837c562-f96c-3084-40f8-1a52afcebdf5@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).