Help needed with gobject-introspection

Ken Brown kbrown@cornell.edu
Sat Jun 6 14:15:25 GMT 2020


On 6/3/2020 2:30 PM, Ken Brown via Cygwin-apps wrote:
> On 6/3/2020 12:51 PM, Jon Turney wrote:
>> On 02/06/2020 22:28, Jon Turney wrote:
>>> On 02/06/2020 15:31, Ken Brown via Cygwin-apps wrote:
>>>> On 6/2/2020 10:26 AM, Jon Turney wrote:
>>>>> On 01/06/2020 12:30, Jon Turney wrote:
>>>>>> On 01/06/2020 00:58, Ken Brown via Cygwin-apps wrote:
>>>>>>>
>>>>>>> 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)
>>>>>
>>>>> Hmmm.. I can't reproduce this.
>>>>>
>>>>> Using my meson 0.54.2-2 package, I managed to build glib (from the 2.64.3 
>>>>> tag in the glib repository) configured with -Dgtk_doc=true.
>>>>
>>>> Did you run 'ninja install'?  The problem doesn't show up until you do that.
>>>
>>> Sigh, yes, you're right.  It gets built during 'all', and succeeds, and then 
>>> gets built again during 'install', in a slightly different way, which fails.
>> Added another patch to that PR which should fix gtkdoc documentation which is 
>> built at install-time.
>>
>> Uploaded a meson 0.54.2-3 test package.
> 
> That fixes it!  Thanks.

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

To reproduce:

wget 
https://github.com/harfbuzz/harfbuzz/releases/download/2.6.7/harfbuzz-2.6.7.tar.xz

tar -xf harfbuzz-2.6.7.tar.xz

cd harfbuzz-2.6.7

meson \
   -Dintrospection=enabled \
   -Dcairo=enabled \
   -Dfontconfig=enabled \
   -Dfreetype=enabled \
   -Dglib=enabled \
   -Dgobject=enabled \
   -Dgraphite=enabled \
   -Dicu=enabled \
   build

cd build

ninja


More information about the Cygwin-apps mailing list