-
Notifications
You must be signed in to change notification settings - Fork 559
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
Packages with known incompatibilities across different versions #3024
Comments
Merged
Merged
This was referenced Aug 15, 2021
Merged
Merged
Merged
This was referenced Feb 26, 2022
Merged
Closed
This was referenced Sep 3, 2022
This was referenced Sep 13, 2022
Merged
This was referenced Sep 20, 2022
Merged
This was referenced Sep 19, 2023
Merged
This was referenced Sep 27, 2023
Merged
This was referenced Oct 10, 2023
This was referenced Oct 31, 2023
Merged
This was referenced Feb 21, 2024
This was referenced Sep 10, 2024
This was referenced Sep 19, 2024
Open
Not sure if this helps, but I overlooked these packages, while GSL_jll is in the list above.
Dependency("GEOS_jll"; compat="~3.9") # correctly done since v3.9, currently at v3.13
Dependency("PROJ_jll"; compat="~901.400") # has minor version in soname
Dependency("PROJ_jll"; compat="~902.500") # preferred, should be forwards compatible with newer edit:
|
This was referenced Dec 13, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bzip2_jll
: the v1.0.6 for macOS forces the soname to include the full version, this was fixed for v1.0.8 ([Bzip2] Set the macOS soname tolibbz2.1.0.dylib
#2981) and v1.0.7boost_jll
: the soname of the Linux libraries has the full version number (great idea, isn't it? evidence)Cairo_jll
: the minimum compatible version for macOS changes at every minor version, but the rest seems to be backward compatible. You need to build against the oldest compatible version:Expat_jll
: I previously reported incompatibilities for this package, but that was inaccurate. I'm not aware of any incompatibilities at the moment, but while we're here it's still good to specify compat bounds for good measureFLAC_jll
: changes the soversion between minor versions (evidence)Gettext_jll
: the soname includes the full version number, so it changes even between patch versions:Glib_jll
: packages built against v2.68.1 can't be loaded when using Glib v2.59.0 (there is an incompatible minimum version for macOS, plus another issue on Windows which I don't understand). I believe Glib is supposed to be backward-compatible, so building against the oldest version possible should be fine, but only v2.68.1 is available for new platforms:GMP_jll
: packages built against v6.2.1 can't be loaded by old Julia versions which link to v6.1.2. However GMP is backward compatible, so we can use GMP v6.1.2 when building:GSL_jll
: breaks the ABI at every minor version. But they don't necessarily remember to change the soversion accordingly:HarfBuzz_jll
: the minimum compatible version for macOS changes at every minor version, but the rest seems to be backward compatible. You need to build against the oldest compatible version:ICU_jll
: the soname seems to change every major version (example)libass_jll
: the minimum compatible version for macOS changes at every minor version, but the rest seems to be backward compatible. You need to build against the oldest compatible version:Libffi_jll
: the soname seems to change every minor version (verified locally by building v3.3.0):Libgpg_error_jll
: the soname for FreeBSD and Windows changed when moving v1.36 -> v1.42 (evidence), but in the future it may be more stable:Libtiff_jll
: the minimum compatible version for macOS changes at every minor version. Also, ABI was broken when switched to v4.5Lua_jll
: the name of the library on Windows depends on the major+minor version (evidence):MbedTLS_jll
is a mess. The soversion of at least one of the libraries provided changes between minor versions (example 2.26 -> 2.27), but not always (e.g., nothing changed 2.25 -> 2.26). On top of that,MbedTLS_jll
is a Julia dependency, so you can't possibly build a single library that can be loaded by different Julia versions which ship different versions ofMbedTLS_jll
, as they'd have different ABIs:NetCDF_jll
: the major soversion changed from 18 to 19 in the 4.7 -> 4.8 transition (evidence). OptionsNettle_jll
: the soname seems to change every minor version (example)OpenSSL_jll
: OpenSSL 3 was recently released, which is ABI breaking. At the moment we only have v1.1.1 (and a fake 1.1.10, which is the same as 1.1.1 but for all platforms):Pango_jll
: the minimum compatible version for macOS changes at every minor version, but the rest seems to be backward compatible. You need to build against the oldest compatible version:x264_jll
: the soname changed (evidence)x265_jll
: the soname changed (evidence)The text was updated successfully, but these errors were encountered: