-
-
Notifications
You must be signed in to change notification settings - Fork 14
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
Proposal: only provide a pkg-config file on macOS #16
Comments
We can find those packages and issue rebuild PRs with the bot. cc.: @CJ-Wright and @justcalamari |
Have raised issue ( regro/cf-scripts#417 ) to add a migrator to address this. |
I am experiencing a related error in porting a codebase that is compiling fine on macOS with homebrew. If anyone is wondering why there is apparently no |
Backport of gazebosim/gz-cmake#128 Fix of the problems reported in conda-forge/libuuid-feedstock#16 for Ignition libraries.
As on macOS the libuuid dependency can create conflicts, see conda-forge/libignition-cmake0-feedstock#7 and conda-forge/libuuid-feedstock#16 .
Recent versions of macOS provide this library as part of libc. We have had several cases where the version of this library that we provide conflicts with the system definitions, breaking builds of other packages (example). So, maybe we should stop providing our own version of this library on macOS.
One reason that this package is helpful even on macOS, though, is that various Linux-centric depending packages expect there to be a pkg-config file
libuuid.pc
. MacOS doesn't provide this. Usually the absence of this file can be worked around by setting environment variables, but it's a bit of a hassle.So, proposal: on macOS, don't provide the library at all; just provide a hand-coded pkg-config file with empty CFLAGS and LDFLAGS/LIBS settings, which I believe is enough to get things to build. (NB: there is no
-luuid
on macOS; the functions are just provided by its libc.)Expected upsides: no more conflicting with a system library; we still get the advantages of the pkg-config file.
Foreseen downsides: every macOS package depending on this library needs to be rebuilt, since they link to a
-luuid
that will disappear if we stop providing the library. Possible problems if there are genuinely important differences between the C prototypes of our libuuid and the macOS system one.Possible variation: on macOS, still provide a libuuid, but make it empty. Still provide a pkg-config file with empty CFLAGS and LIBS so that as depending packages are rebuilt, their links to
-luuid
gradually go away.The text was updated successfully, but these errors were encountered: