Help needed with gobject-introspection

Jon Turney jon.turney@dronecode.org.uk
Mon Jun 1 11:30:47 GMT 2020


On 01/06/2020 00:58, Ken Brown via Cygwin-apps wrote:
> On 5/31/2020 4:52 PM, Jon Turney wrote:
>> On 29/05/2020 16:54, Jon Turney wrote:
>>> On 27/05/2020 21:32, Ken Brown via Cygwin-apps wrote:
>>>> It looks like I've bumped into a variation of this bug.  While 
>>>> attempting to build the documentation for the latest glib2.0 
>>>> release, I got the following:
>>>>
>>>> FAILED: docs/reference/gobject/gobject-decl.txt
>>>> /usr/bin/meson --internal exe --unpickle 
>>>> /home/kbrown/src/cygpackages/glib2.0/glib2.0-2.64.3-1.x86_64/src/glib-2.64.3/x86_64-pc-cygwin/meson-private/meson_exe_meson_1ed2fbe217cac49ae4affd274e0d4a729085a002.dat 
>>>>
>>>> ['/usr/bin/meson', '--internal', 'gtkdoc', 
>>>> '--sourcedir=/home/kbrown/src/cygpackages/glib2.0/glib2.0-2.64.3-1.x86_64/src/glib-2.64.3', 
>>>> '--builddir=/home/kbrown/src/cygpackages/glib2.0/glib2.0-2.64.3-1.x86_64/src/glib-2.64.3/x86_64-pc-cygwin', 
>>>> '--subdir=docs/reference/gobject', '--headerdirs=gobject', 
>>>> '--mainfile=gobject-docs.xml', '--modulename=gobject', '--
>>>>
>>>> [...]
>>>>
>>>> /docs/reference/gobject/tut_tools.xml', '--cc=gcc', '--ld=gcc', 
>>>> '--cflags=-I@BUILD_ROOT@/gobject -I../gobject -pthread 
>>>> -I@BUILD_ROOT@/. -I../. -I@BUILD_ROOT@/glib -I../glib 
>>>> -I@BUILD_ROOT@/docs/reference/gobject/. -I../docs
>>>>
>>>> [...]
>>>>
>>>> So @BUILD_ROOT@ didn't get replaced by the build root after pickling 
>>>> and unpickling.  Needless to say, this produced errors like:
>>>>
>>>> cc1: error: @BUILD_ROOT@/glib: No such file or directory 
>>>> [-Werror=missing-include-dirs]
>>>>
>>>> I can give you a precise recipe for reproducing this bug if it would 
>>>> help your debugging.
>>>
>>> Definitely a bug.  I'll see if I can take a look at it this weekend.
>>
>> https://github.com/mesonbuild/meson/pull/7229
>>
>> I made a meson 0.54.2-2 test package with those patches.
> 
> Thanks!  That gets me much further in the glib build.  I still have a 
> problem with the docs, but I have no reason to think it's a meson bug.  
> When running 'ninja install' I get the following:
> 
> Building documentation for gio
> ERROR: Error in gtkdoc helper script:
> 
> ERROR: ['/usr/bin/gtkdoc-scangobj', 
> '--types=/home/kbrown/src/glib/cygbuild/docs/reference/gio/gio.types', 
> '--module=gio', '--run=', '--cflags=-I/home/kbrown/src/glib/cygbuild/gio 
> -I/home/kbrown/src/glib/gio -pthread 
> -I/home/kbrown/src/glib/cygbuild/gmodule -I/home/kbrown/src/glib/gmodule 
> -I/home/kbrown/src/glib/cygbuild/. -I/home/kbrown/src/glib/. 
> -I/home/kbrown/src/glib/cygbuild/glib -I/home/kbrown/src/glib/glib 
> -I/home/kbrown/src/glib/cygbuild/gobject -I/home/kbrown/src/glib/gobject 
> -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG 
> -Wduplicated-branches -Wimplicit-fallthrough -Wmisleading-indentation 
> -Wstrict-prototypes -Wunused -Wno-unused-parameter 
> -Wno-bad-function-cast -Wno-cast-function-type -Wno-pedantic 
> -Wno-format-zero-length -Werror=declaration-after-statement 
> -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self 
> -Werror=missing-include-dirs -Werror=missing-prototypes 
> -Werror=pointer-arith', '--ldflags=-L/home/kbrown/src/glib/cygbuild/gio 
> -Wl,-rpath,/home/kbrown/src/glib/cygbuild/gio 
> -L/home/kbrown/src/glib/cygbuild/glib 
> -Wl,-rpath,/home/kbrown/src/glib/cygbuild/glib 
> -L/home/kbrown/src/glib/cygbuild/gobject 
> -Wl,-rpath,/home/kbrown/src/glib/cygbuild/gobject 
> -L/home/kbrown/src/glib/cygbuild/gmodule 
> -Wl,-rpath,/home/kbrown/src/glib/cygbuild/gmodule -lgio-2.0 
> -lgmodule-2.0 -lglib-2.0 -lgobject-2.0 -lz -pthread -lintl -lpcre 
> -liconv -lffi', '--cc=cc', '--ld=cc', 
> '--output-dir=/home/kbrown/src/glib/cygbuild/docs/reference/gio'] failed 
> with status 127
> 
> I'll see what I can figure out, but as I said, it doesn't look to me 
> like a meson issue.

This looks like the problem that my second patch was supposed to fix, so 
I guess I've messed up somewhere.

(gtkdoc-scangobj builds and runs a executable linked with the gio shared 
library.  meson needs to set PATH appropriately so that shared library 
can be loaded)


More information about the Cygwin-apps mailing list