Skip to content

Conversation

@h-vetinari
Copy link
Member

https://repo.almalinux.org/vault/10.0/BaseOS/ exists but is still empty. It should be filled once alma 10.1 is out, which might happen in November. In the meantime, use packages from https://repo.almalinux.org/almalinux. Later, we should simply be able to revert 0de3517.

Fixes #91

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Sep 17, 2025

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.
  • ℹ️ License exception is not an SPDX exception.

Documentation on acceptable licenses can be found here.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/19406394618. Examine the logs at this URL for more detail.

…5.11.09.23.10.12

Other tools:
- conda-build 25.9.0
- rattler-build 0.49.0
- rattler-build-conda-compat 1.4.9
@h-vetinari
Copy link
Member Author

Ah right

Could not solve for environment specs
The following package could not be installed
└─ sysroot_linux-ppc64le =2.39 hf8f1b53_2 is not installable because it requires
   └─ __glibc >=2.39 *, which is missing on the system.

we need the images first

@h-vetinari
Copy link
Member Author

OK, the reason for the failures here is that the packaging in alma10 changed; the long story short (AFAICT) is that RHEL 10 seems to have cleaned up some leftovers of the /usr-merge, also on the packaging side.

In alma9, the glibc bits were still packaged in /lib64 (even though /lib64 is already symlinked to /usr/lib64 in the actual image)

$ rpm -qlp ./glibc-2.34-125.el9_5.8.alma.1.x86_64.rpm
[...]
/lib64/ld-linux-x86-64.so.2
/lib64/libBrokenLocale.so.1
/lib64/libSegFault.so
/lib64/libanl.so.1
/lib64/libc.so.6
/lib64/libc_malloc_debug.so.0
/lib64/libdl.so.2
/lib64/libm.so.6
/lib64/libmvec.so.1
/lib64/libnss_compat.so.2
/lib64/libnss_dns.so.2
/lib64/libnss_files.so.2
/lib64/libpthread.so.0
/lib64/libresolv.so.2
/lib64/librt.so.1
/lib64/libthread_db.so.1
/lib64/libutil.so.1
/sbin/ldconfig
/usr/lib64/audit
/usr/lib64/audit/sotruss-lib.so
/usr/lib64/gconv
/usr/lib64/gconv/ANSI_X3.110.so
/usr/lib64/gconv/CP1252.so
/usr/lib64/gconv/ISO8859-1.so
/usr/lib64/gconv/ISO8859-15.so
/usr/lib64/gconv/UNICODE.so
/usr/lib64/gconv/UTF-16.so
/usr/lib64/gconv/UTF-32.so
/usr/lib64/gconv/UTF-7.so
/usr/lib64/gconv/gconv-modules
/usr/lib64/gconv/gconv-modules.cache
/usr/lib64/gconv/gconv-modules.d
/usr/lib64/libmemusage.so
/usr/lib64/libpcprofile.so
/usr/libexec/getconf
/usr/libexec/getconf/POSIX_V6_LP64_OFF64
/usr/libexec/getconf/POSIX_V7_LP64_OFF64
/usr/libexec/getconf/XBS5_LP64_OFF64
/usr/sbin/iconvconfig
[...]

whereas in RHEL 10 everything gets delivered in /usr/lib64:

$ rpm -qlp ./glibc-2.39-46.el10_0.alma.1.x86_64.rpm
[...]
/usr/lib64/audit
/usr/lib64/audit/sotruss-lib.so
/usr/lib64/gconv
/usr/lib64/gconv/CP1252.so
/usr/lib64/gconv/ISO8859-1.so
/usr/lib64/gconv/ISO8859-15.so
/usr/lib64/gconv/UNICODE.so
/usr/lib64/gconv/UTF-16.so
/usr/lib64/gconv/UTF-32.so
/usr/lib64/gconv/UTF-7.so
/usr/lib64/gconv/gconv-modules
/usr/lib64/gconv/gconv-modules.cache
/usr/lib64/gconv/gconv-modules.d
/usr/lib64/ld-linux-x86-64.so.2
/usr/lib64/libBrokenLocale.so.1
/usr/lib64/libanl.so.1
/usr/lib64/libc.so.6
/usr/lib64/libdl.so.2
/usr/lib64/libm.so.6
/usr/lib64/libmvec.so.1
/usr/lib64/libnss_compat.so.2
/usr/lib64/libnss_dns.so.2
/usr/lib64/libnss_files.so.2
/usr/lib64/libpcprofile.so
/usr/lib64/libpthread.so.0
/usr/lib64/libresolv.so.2
/usr/lib64/librt.so.1
/usr/lib64/libthread_db.so.1
/usr/lib64/libutil.so.1
/usr/libexec/getconf
/usr/libexec/getconf/POSIX_V6_LP64_OFF64
/usr/libexec/getconf/POSIX_V7_LP64_OFF64
/usr/libexec/getconf/XBS5_LP64_OFF64
/usr/sbin/iconvconfig
/usr/sbin/ldconfig
[...]

@h-vetinari h-vetinari force-pushed the alma10 branch 2 times, most recently from 9ebca9b to 75f30eb Compare November 16, 2025 11:08
@h-vetinari
Copy link
Member Author

Good that I added some extra tests; one of them caught

$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/lib is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/bin/ld.so is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/lib64/libBrokenLocale.so is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/lib64/libanl.so is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/lib64/libmvec.so is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/lib64/libresolv.so is a symlink with no target
$SP_DIR/conda_build/build.py:1537: UserWarning: file $PREFIX/x86_64-conda-linux-gnu/sysroot/usr/lib64/libthread_db.so is a symlink with no target

(or would have caught it, had the test not failed otherwise 😅)

Copy link
Member

@beckermr beckermr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have at least historrically kept branches on the upstream feedstock for each sysroot version. We should do that here and so the PR needs to be redirect to a branch. Feel free to make one.

@h-vetinari
Copy link
Member Author

h-vetinari commented Nov 16, 2025

We have at least historically kept branches on the upstream feedstock for each sysroot version.

Look at the branches here

image

These correspond to

branch Distro glibc version
v2.12 CentOS 6 2.12
v2.17 CentOS 7 2.17
v2.28 Alma 8 2.28
main Alma 9 2.34

In other words, already now the newest version doesn't have a special branch. This is regular feedstock behaviour if there are several maintenance branches.

We should do that here and so the PR needs to be redirect to a branch. Feel free to make one.

What we should do here is to merge this PR to main as usual, and once that happens, create a v2.34 branch that matches the state before this PR (i.e. the main branch as of right now). I'm happy to create that branch once this is in.

…5.11.15.23.15.53

Other tools:
- conda-build 25.9.0
- rattler-build 0.49.0
- rattler-build-conda-compat 1.4.9
@beckermr
Copy link
Member

Ack yes you are right @h-vetinari. We should make a branch for alma9 from the current main! Thank you!

@beckermr beckermr dismissed their stale review November 16, 2025 12:59

incorrect!

@h-vetinari
Copy link
Member Author

OK, this should be ready now! PTAL :)

@h-vetinari
Copy link
Member Author

Branch v2.34 is there too now: https://github.com/conda-forge/linux-sysroot-feedstock/tree/v2.34

Copy link
Member

@beckermr beckermr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

sha256: 50808a6a71fd9a3d5b3db2604f825af8aa6cf0020dd8f1d0edca1b0bc77729f9 # [cross_target_platform == "linux-ppc64le"]
sha256: e7a9df0d9eb747b1dacf13636a4defb42123a0aa3d166adff9970736d1be073c # [cross_target_platform == "linux-s390x"]

- folder: binary-glibc-headers # [cross_target_platform in ("linux-64", "linux-s390x")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be nice if they stopped moving stuff around.

- test -f $PREFIX/{{ target_machine }}-conda-linux-gnu/sysroot/lib/libc.so.6
- test -f $PREFIX/{{ target_machine }}-conda-linux-gnu/sysroot/sbin/ldconfig
- test -f $PREFIX/{{ target_machine }}-conda-linux-gnu/sysroot/usr/lib/crt1.o
# the files below are just a sample of the full content
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for expanding the tests!

@h-vetinari h-vetinari merged commit ce487d2 into conda-forge:main Nov 16, 2025
7 checks passed
@h-vetinari
Copy link
Member Author

Thanks for the review!

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.

Would you please add new release with ALMA 10 support

3 participants