Comments (10)
@russel This is a regression in Meson 0.48.0 (one of quite a few, unfortunately...). Try downgrading or upgrading Meson to fix this issue.
See mesonbuild/meson#4342 for the patch that fixes the problem in the next release, and a few more details on the bug.
from gir-to-d.
@ximion I have a clone of Meson so can use master/HEAD instead of the Debian or Fedora release packages to avoid being blocked on this problem.
from gir-to-d.
I don't observe this issue anymore with gir-to-d, but I do observe a new problem when trying to build GlibD on Rawhide with gir-to-d 0.17.0.
Dependency glib-2.0 found: YES 2.59.0
Dependency gobject-2.0 found: YES 2.59.0
Dependency gio-2.0 found: YES 2.59.0
Dependency gobject-introspection-1.0 found: YES 1.59.3
...
Program girtod found: YES (/usr/bin/girtod)
Message: Generating D interfaces from GIR...
Running command: /usr/bin/girtod -i /builddir/build/BUILD/GlibD-2.0.2/src -o /builddir/build/BUILD/GlibD-2.0.2/x86_64-redhat-linux-gnu/generated --print-files relative,/builddir/build/BUILD/GlibD-2.0.2
--- stdout ---
x86_64-redhat-linux-gnu/generated/gtkd/Implement.d
x86_64-redhat-linux-gnu/generated/gtkd/paths.d
x86_64-redhat-linux-gnu/generated/gtkd/Loader.d
--- stderr ---
Error /usr/share/gir-1.0/GLib-2.0.gir(21): Unexpected tag: source-position in GirAlias: DateDay
meson.build:36:4: ERROR: Problem encountered: Unable to build D intefaces from GIR:
Error /usr/share/gir-1.0/GLib-2.0.gir(21): Unexpected tag: source-position in GirAlias: DateDay
from gir-to-d.
I can't reproduce this locally, could you post the first 40 lines of the GLib-2.0.gir file?
from gir-to-d.
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.2"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<package name="glib-2.0"/>
<c:include name="glib.h"/>
<namespace name="GLib"
version="2.0"
shared-library="libgobject-2.0.so.0,libglib-2.0.so.0"
c:identifier-prefixes="G"
c:symbol-prefixes="g,glib">
<alias name="DateDay" c:type="GDateDay">
<doc xml:space="preserve"
filename="glib-2.0.c"
line="289">Integer representing a day of the month; between 1 and 31.
#G_DATE_BAD_DAY represents an invalid day of the month.</doc>
<source-position filename="gdate.h" line="50"/>
<type name="guint8" c:type="guint8"/>
</alias>
<alias name="DateYear" c:type="GDateYear">
<doc xml:space="preserve"
filename="glib-2.0.c"
line="334">Integer representing a year; #G_DATE_BAD_YEAR is the invalid
value. The year must be 1 or higher; negative (BC) years are not
allowed. The year is represented with four digits.</doc>
<source-position filename="gdate.h" line="49"/>
<type name="guint16" c:type="guint16"/>
</alias>
<alias name="MutexLocker" c:type="GMutexLocker">
<doc xml:space="preserve"
filename="gthread.h"
line="270">Opaque type. See g_mutex_locker_new() for details.</doc>
<source-position filename="gthread.h" line="276"/>
<type name="none" c:type="void"/>
</alias>
<alias name="Pid" c:type="GPid">
from gir-to-d.
Looks like they added the source location of the symbol to the gir files.
I think 44ad476 updates gir-to-d for the possible locations this could be used.
from gir-to-d.
@MikeWey That helped, and now I got further along in the GlibD build, but I see this error now, and I'm not sure whether it means it's a gir-to-d issue or a GlibD issue:
FAILED: glibd-2.0@sha/x86_64-redhat-linux-gnu_generated_glib_c_types.d.o
ldc2 -I=glibd-2.0@sha -I=. -I=.. -I=generated -I=../generated -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -enable-color -release -w -g -O1 -relocation-model=pic -of='glibd-2.0@sha/x86_64-redhat-linux-gnu_generated_glib_c_types.d.o' -c ../x86_64-redhat-linux-gnu/generated/glib/c/types.d
../x86_64-redhat-linux-gnu/generated/glib/c/types.d(4539): Error: use `real` instead of `long double`
That's repeating for each of the four compilation units it gets to before it dies...
from gir-to-d.
It's an issue with gir-to-d, should be fixed now.
from gir-to-d.
I'm afraid I have now ditched Fedora, and am solely on Debian Sid, so having started this issue, I can't contribute now. Sorry.
from gir-to-d.
@MikeWey This is definitely fixed now.
gir-to-d: https://koji.fedoraproject.org/koji/buildinfo?buildID=1191994
glibd: https://koji.fedoraproject.org/koji/buildinfo?buildID=1199351
from gir-to-d.
Related Issues (20)
- New release? HOT 2
- Cannot build on OSX HOT 3
- Fails to generate valid code for GLibD HOT 2
- Always use fully qualified names for imported types HOT 2
- Option to rename types HOT 4
- ~master: range violation on empty c:identifier-prefixes HOT 1
- Bare functions are not generated HOT 1
- Missing support for function-macro HOT 1
- Wrong method signature generated HOT 12
- D-to-gir? HOT 1
- gst_adapter_map in gstreamer 1.14 tries to use .length on void*
- Generating @safe bindings
- Provide simple example HOT 3
- Look for gir files in XDG_DATA_DIRS by default
- functions from handy/c/functions.d are "not defined" HOT 2
- wrongly adding override when name of function matches parent class (but not return type) HOT 3
- Atk-1.0.gir has content that is not valid for gir-to-d
- Fails to link: undefined symbol _D6object__T8opEqualsTxC3gtd11GirFunctionQnTxQwZQBkFxQBexQBiZb HOT 3
- Please search the same paths for GIR XML that GObject-Introspection does
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gir-to-d.