After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 567993 - [scanner] Complex array support
[scanner] Complex array support
Status: RESOLVED OBSOLETE
Product: gobject-introspection
Classification: Platform
Component: g-ir-scanner
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
: 573505 681406 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-01-16 16:09 UTC by Philipp Schlesinger
Modified: 2018-02-08 11:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Philipp Schlesinger 2009-01-16 16:09:55 UTC
g-ir-scanner was called like that:

    /usr/bin/g-ir-scanner -v --namespace Gegl --nsversion=0.0 \
	    --add-include-path=. --add-include-path=. \
	    --include=GObject-2.0 \
	    --include=GModule-2.0 \
	    --include=Gio-2.0 \
	    --include=cairo-1.0 \
	    --include=Babl-0.0 \
	    --library=gegl-0.0 \
	    --libtool="/bin/bash ../libtool" \
	    --output Gegl-0.0.gir \
	    --pkg cairo \
	    --pkg babl \
	    --pkg gegl \
	    `pkg-config --variable=includedir gegl`/gegl-0.0/operation/*.h \
	    `pkg-config --variable=includedir gegl`/gegl-0.0/*.h

It fails:

Traceback (most recent call last):
  • File "/usr/bin/g-ir-scanner", line 334 in <module>
    sys.exit(main(sys.argv))
  • File "/usr/bin/g-ir-scanner", line 315 in main
    namespace = glibtransformer.parse()
  • File "/usr/lib/python2.5/site-packages/giscanner/glibtransformer.py", line 117 in parse
    namespace = self._transformer.parse()
  • File "/usr/lib/python2.5/site-packages/giscanner/transformer.py", line 90 in parse
    node = self._traverse_one(symbol)
  • File "/usr/lib/python2.5/site-packages/giscanner/transformer.py", line 187 in _traverse_one
    return self._create_typedef(symbol)
  • File "/usr/lib/python2.5/site-packages/giscanner/transformer.py", line 364 in _create_typedef
    "symbol %r of type %s" % (symbol.ident, ctype_name(ctype)))
NotImplementedError: symbol 'GeglMatrix3' of type array

Definition of GeglMatrix3:

   typedef gdouble GeglMatrix3 [3][3];
Comment 1 Philipp Schlesinger 2009-02-03 13:00:53 UTC
Please let me know if I should provide additional information to deal with this bug.

Best regards,

   Philipp
Comment 2 Colin Walters 2009-02-24 00:29:03 UTC
Hmm, so this is an array type that is passed by value to several functions?

http://svn.gnome.org/viewvc/gegl/trunk/gegl/gegl-matrix.h?revision=2881&view=markup

Actually I'm unsure about this in general - according to the C FAQ that it's passed by reference for a single dimension array, but not recursively:
http://c-faq.com/aryptr/aryptrparam.html
http://c-faq.com/aryptr/pass2dary.html

There are several levels here of introspection fixes:

1) Support parsing that header and don't fail, even if the resulting API description isn't usable for a binding
2) Support array types as parameters (I'm not sure we do right now)
3) Support multidimensional arrays
Comment 3 Johan (not receiving bugmail) Dahlin 2010-09-06 16:45:18 UTC
*** Bug 573505 has been marked as a duplicate of this bug. ***
Comment 4 Simon Feltman 2013-09-13 22:47:06 UTC
*** Bug 681406 has been marked as a duplicate of this bug. ***
Comment 5 André Klapper 2015-02-07 17:10:55 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
Comment 6 Mikhail Zabaluev 2015-10-05 04:30:29 UTC
Bug #738186 may be of interest. Posting here for lack of a metabug for complex arrays.
Comment 7 GNOME Infrastructure Team 2018-02-08 11:47:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/10.