public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: cygwin-apps <cygwin-apps@cygwin.com>
Subject: Help needed with gobject-introspection
Date: Tue, 19 May 2020 19:04:49 -0400	[thread overview]
Message-ID: <2c0802e9-e66c-768e-61f2-f2797acc1acb@cornell.edu> (raw)

[-- Attachment #1: Type: text/plain, Size: 3066 bytes --]

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.

Can anyone help?

Thanks.

Ken

[-- Attachment #2: babl.cygport --]
[-- Type: text/plain, Size: 1143 bytes --]

inherit meson

NAME="babl"
VERSION=0.1.74
RELEASE=1
CATEGORY="Libs"
SUMMARY="Any-to-any pixel format conversion library"
DESCRIPTION="Babl is a dynamic, any to any, pixel format conversion library.
It provides conversions between the myriad of buffer types images can be
stored in. Babl doesn't only help with existing pixel formats, but also
facilitates creation of new and uncommon ones."
HOMEPAGE="http://www.gegl.org/babl/"
SRC_URI="http://download.gimp.org/pub/babl/${VERSION%.*}/babl-${VERSION}.tar.xz"

PATCH_URI="0.1.74-cygwin.patch"

PKG_NAMES="libbabl0.1_0 libbabl-devel" # girepository-Babl0.1 vala-babl0.1"
libbabl0_1_0_SUMMARY="${SUMMARY} (runtime)"
libbabl0_1_0_CONTENTS="usr/bin/*-0.1-0.dll usr/lib/babl-0.1/ usr/share/doc/"
libbabl_devel_SUMMARY="${SUMMARY} (development)"
libbabl_devel_CONTENTS="usr/include/ usr/lib/lib* usr/lib/pkgconfig/"
girepository_Babl0_1_SUMMARY="${SUMMARY} (GObject Introspection)"
girepository_Babl0_1_CONTENTS="usr/*/gir*/Babl-0.1.*"
vala_babl0_1_SUMMARY="${SUMMARY} (Vala bindings)"
vala_babl0_1_CONTENTS="usr/share/vala/"

CYGMESON_ARGS="-Dwith-docs=false"
# CYGMESON_ARGS+=" -Denable-gir=false"

[-- Attachment #3: 0.1.74-cygwin.patch --]
[-- Type: text/plain, Size: 1033 bytes --]

--- origsrc/babl-0.1.74/meson.build	2020-01-12 18:26:51.000000000 -0500
+++ src/babl-0.1.74/meson.build	2020-05-18 18:11:58.729959300 -0400
@@ -104,7 +104,6 @@ host_os = host_machine.system()
 message('Host os: ' + host_os)
 
 platform_win32 = (host_os.startswith('mingw') or
-                  host_os.startswith('cygwin') or
                   host_os.startswith('windows'))
 
 platform_osx = host_os.startswith('darwin')
@@ -118,7 +117,7 @@ platform_android = host_os.contains('and
 
 path_sep = ( platform_win32 ? ';'     : ':' )
 dirs_sep = ( platform_win32 ? '\\\\'  : '/' )
-if platform_win32
+if platform_win32 or host_os.startswith('cygwin')
   lib_ext = '.dll'
 elif platform_osx
   lib_ext = '.dylib'
@@ -145,7 +144,6 @@ build_os = build_machine.system()
 message('Build os: ' + build_os)
 
 build_platform_win32 = (build_os.startswith('mingw') or
-                        build_os.startswith('cygwin') or
                         build_os.startswith('windows'))
 
 # Only run cross compile objects if we have exe wrapper

             reply	other threads:[~2020-05-19 23:04 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-19 23:04 Ken Brown [this message]
2020-05-20 14:50 ` Ken Brown
2020-05-21 13:24   ` Jon Turney
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=2c0802e9-e66c-768e-61f2-f2797acc1acb@cornell.edu \
    --to=kbrown@cornell.edu \
    --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).