Skip to content
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

pango: update to 1.56.0 #1881

Merged
merged 1 commit into from
Jan 19, 2025
Merged

pango: update to 1.56.0 #1881

merged 1 commit into from
Jan 19, 2025

Conversation

bgilbert
Copy link
Contributor

Build errors:

  1. MSYS builds throw a bunch of redefinition errors in the cairo dwrite code. Not sure why this doesn't happen when building cairo directly. Worked around with cairo:dwrite=disabled.

  2. MSYS builds fail on:

    In file included from ../subprojects/sysprof/src/libsysprof-capture/sysprof-capture-reader.c:69:
    In file included from ../subprojects/sysprof/src/libsysprof-capture/sysprof-capture-reader.h:61:
    ../subprojects/sysprof/src/libsysprof-capture/sysprof-capture-types.h:63:11: fatal error: 'endian.h' file not found
    

    pango provides a valid sysprof.wrap that it doesn't use by default, but this causes glib to autodetect sysprof and fall back to the wrap. In turn, libsysprof tries to use endian.h, which doesn't exist on Windows. We don't see this in glib builds because glib's own sysprof.wrap doesn't list any provides and so is ignored.

    Worked around with glib:sysprof=disabled.

  3. MSVC clang-cl fails on this:

    FAILED: subprojects/cairo-1.18.2/src/cairo-2.dll subprojects/cairo-1.18.2/src/cairo-2.pdb 
    "lld-link" @subprojects/cairo-1.18.2/src/cairo-2.dll.rsp
    lld-link: error: undefined symbol: __udivti3
    >>> referenced by D:\a\wrapdb\wrapdb\subprojects\cairo-1.18.2\src\cairo-wideint.c:390
    >>>               subprojects/cairo-1.18.2/src/cairo-2.dll.p/cairo-wideint.c.obj:(_cairo_uint128_divrem)
    lld-link: error: undefined symbol: __umodti3
    >>> referenced by D:\a\wrapdb\wrapdb\subprojects\cairo-1.18.2\src\cairo-wideint.c:391
    >>>               subprojects/cairo-1.18.2/src/cairo-2.dll.p/cairo-wideint.c.obj:(_cairo_uint128_divrem)
    

    Looks like this bug: Clang-cl generates a call to an undefined symbol __udivti3 llvm/llvm-project#25679

    Not sure why cairo builds don't see this, and there's no evident workaround.

@bgilbert bgilbert mentioned this pull request Jan 18, 2025
@neheb
Copy link
Collaborator

neheb commented Jan 18, 2025

I've seen that udiv issue too. I don't remember finding a good way to fix it.

@bgilbert
Copy link
Contributor Author

Should we land this then?

@neheb neheb merged commit 9d3c419 into mesonbuild:master Jan 19, 2025
12 of 13 checks passed
@bgilbert bgilbert deleted the pango branch January 19, 2025 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants