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

cairo: pkgconfig files reference -ldl in Libs.private on clangarm64 #20974

Closed
jeremyd2019 opened this issue May 22, 2024 · 12 comments · Fixed by #20975
Closed

cairo: pkgconfig files reference -ldl in Libs.private on clangarm64 #20974

jeremyd2019 opened this issue May 22, 2024 · 12 comments · Fixed by #20975

Comments

@jeremyd2019
Copy link
Member

I believe this is the cause of the build error of inkscape currently being seen. I don't know why that is though. This is not present in the version in clang64.

@jeremyd2019
Copy link
Member Author

It's also in sqlite3.pc, i wonder if that's related.

@jeremyd2019
Copy link
Member Author

I rebuilt sqlite3 locally (on "CI" version of runner) and it did not include -ldl anymore. I am attempting to rebuild cairo now to see if/why it has -ldl.

@jeremyd2019
Copy link
Member Author

That doesn't show -ldl either. I will try a PR ci run rebuilding those two packages. I wonder what else may have this issue though.

@jeremyd2019
Copy link
Member Author

bdw-gc.pc seems to still have it too...

@jeremyd2019
Copy link
Member Author

Unfortunately it appears that cairo does not successfully rebuild on MINGW64/UCRT64.

@Biswa96
Copy link
Member

Biswa96 commented May 22, 2024

-Wno-error=incompatible-pointer-types

jeremyd2019 added a commit to jeremyd2019/MINGW-packages that referenced this issue May 22, 2024
@lazka
Copy link
Member

lazka commented May 22, 2024

The BUILDINFO files of the latest vs the previous cairo shows that some unrelated packages where installed in the latest one. Maybe some leftovers of a stuck pacman recovery?

dlfcn is one of them

@lazka
Copy link
Member

lazka commented May 22, 2024

Should we add some reset script to the autobuild CI?

TO_REMOVE=$(comm -23 <(pacman -Qq | sort) <(pactree -ul base | sed 's/[<>=].*//' | sort -u))
if [[ -n "$TO_REMOVE" ]]; then
    pacman --noconfirm -Rddn $TO_REMOVE
fi

edit: msys2/msys2-autobuild#87

@jeremyd2019
Copy link
Member Author

I made a script to look at clangarm64 packages. It seems looking for packages built having mingw-w64-clang-aarch64-dlfcn installed finds a ton of them, from 2021 to the present. Looking specifically for /clangarm64/{lib,share}/pkgconfig/*.pc files containing -ldl I find only ffmpeg (which does makedepend on dlfcn so this is probably expected) and openvr (which does not - maybe a rebuild of that is also in order)

jeremyd2019 added a commit to msys2-arm/MINGW-packages that referenced this issue May 24, 2024
the clangarm64 package has -ldl in its pkgconfig files, the last package
other than ffmpeg with this.  See msys2#20974
@jeremyd2019
Copy link
Member Author

Nope, rebuilding openvr didn't change its .pc file, and in fact clang64's has -ldl in it as well. Also, I found a bug in my script that meant that the build dates for packages that had dlfcn installed were garbage.

@jeremyd2019
Copy link
Member Author

OK, think I got my script squared away. seeing 428 packages that had dlfcn installed but I'm not seeing a reason for it. Between January 25 and March 17, 2024, except for mingw-w64-mediainfo on May 4. I'm not seeing why mediainfo would have had dlfcn installed.
dlfcn-installed.txt

@jeremyd2019
Copy link
Member Author

I tried a differect tack, and hacked something together with package-grokker to check all clangarm64 packages for references to libdl.dll.

mingw-w64-clang-aarch64-aspell-0.60.8.1-2-any.pkg.tar.zst
mingw-w64-clang-aarch64-mlt-7.22.0-1-any.pkg.tar.zst
mingw-w64-clang-aarch64-tslib-1.23-1-any.pkg.tar.zst

mlt depends on dlfcn, so that's probably expected, but the other two may not be

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants