Skip to content

Dependency loop in freetype2 headers #2202

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ghost opened this issue Apr 6, 2019 · 2 comments
Closed

Dependency loop in freetype2 headers #2202

ghost opened this issue Apr 6, 2019 · 2 comments
Labels
bug Observed behavior contradicts documented or intended behavior
Milestone

Comments

@ghost
Copy link

ghost commented Apr 6, 2019

a.zig:

pub const c = @cImport({
    @cInclude("ft2build.h");
    @cInclude("freetype/freetype.h");
});
pub fn main() void {
    var face: c.FT_Face = undefined;
}

Compiled with:
zig build-exe a.zig --library c --library freetype -isystem /usr/include/freetype2

Gives this error:

zig-cache/o/OPRYCxVqJRuz1FBE7cxkaVmUc5pB0h6OQxHWBaUX5D_np3bvZ6osvEfVq4HIHqxi/cimport.zig:1021:11: error: dependency loop detected
    face: FT_Face,
          ^
zig-cache/o/OPRYCxVqJRuz1FBE7cxkaVmUc5pB0h6OQxHWBaUX5D_np3bvZ6osvEfVq4HIHqxi/cimport.zig:1089:19: note: referenced here
    charmaps: [*c]FT_CharMap,
                  ^
/home/daniel/freetype-bug/a.zig:6:16: note: referenced here
    var face: c.FT_Face = undefined;

The FT_Face type is a pointer to a struct which contains a pointer to an FT_Face within it.

@andrewrk andrewrk added this to the 0.5.0 milestone Apr 7, 2019
@andrewrk andrewrk added the bug Observed behavior contradicts documented or intended behavior label Apr 7, 2019
@andrewrk
Copy link
Member

andrewrk commented Apr 7, 2019

Here is a proposal to fix this: #2174

@andrewrk
Copy link
Member

This is fixed by #2174. Now I get this:

zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1009:5: error: enum tag value 1734484000 already taken
    FT_ENCODING_GB2312 = 1734484000,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1005:5: note: other occurrence here
    FT_ENCODING_PRC = 1734484000,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1010:5: error: enum tag value 1936353651 already taken
    FT_ENCODING_MS_SJIS = 1936353651,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1004:5: note: other occurrence here
    FT_ENCODING_SJIS = 1936353651,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1011:5: error: enum tag value 1734484000 already taken
    FT_ENCODING_MS_GB2312 = 1734484000,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1005:5: note: other occurrence here
    FT_ENCODING_PRC = 1734484000,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1012:5: error: enum tag value 1651074869 already taken
    FT_ENCODING_MS_BIG5 = 1651074869,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1006:5: note: other occurrence here
    FT_ENCODING_BIG5 = 1651074869,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1013:5: error: enum tag value 2002873971 already taken
    FT_ENCODING_MS_WANSUNG = 2002873971,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1007:5: note: other occurrence here
    FT_ENCODING_WANSUNG = 2002873971,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1014:5: error: enum tag value 1785686113 already taken
    FT_ENCODING_MS_JOHAB = 1785686113,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1008:5: note: other occurrence here
    FT_ENCODING_JOHAB = 1785686113,
    ^
zig-cache/o/1GovFs3COiIeKW6PXsonkasqjGb5qVy4KRuif9QLDKiSxs4OwI4k0gnEI361aLKp/cimport.zig:1091:5: note: while checking this field
    charmaps: [*c]FT_CharMap,
    ^
/home/andy/tmp/test.zig:6:5: note: referenced here
    var face: c.FT_Face = undefined;
    ^

which is #2115

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Observed behavior contradicts documented or intended behavior
Projects
None yet
Development

No branches or pull requests

1 participant