-
-
Notifications
You must be signed in to change notification settings - Fork 15
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
unbundle libcrypt #52
Comments
SGTM! |
(For reference, these changes would be very similar to what we did for |
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
refs: - conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
sulogin is currently linked against libcrypt.so.1 which we want to phase out. For details, see: conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
Ruby is currently linked against libcrypt.so.1 which we want to phase out. For details, see: conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
sshd is currently linked against libcrypt.so.1 which we want to phase out. For details, see: conda-forge/linux-sysroot-feedstock#52 Signed-off-by: Marcel Bargull <[email protected]>
I've updated the issue description with links to @beckermr's PRs and added an item for removing the library files that current packages link to in the future (this is mostly just for the case of us using the sysroot package for I'd say removing the remaining files in a few month before we switch to CentOS 7 as the default linking target would make sense. |
Hi, My company is using conda-forge to build C extensions against Python 3.6.15 and 3.7.12. Our compilations now fail because we cannot include a My question is: what do you believe my company's path forward should be to retaining our ability to build Python 3.6 and 3.7 C extensions using current day conda-forge? Obviously we shouldn't use old Pythons, but that is something that we're actively working on, bridging our ecosystem into Conda, and is why we encountered this problem. We also could fix the sysroot to the old version, but this is a difficult fix to implement in a large number of conda recipes, and we're worried about how we can document this process and publicize it fast enough. We could try to proxy conda-forge and remove this new sysroot, but that feels like it might be missing the whole point of this changeset. It's not clear to me that a repodata patch for the existing Python 3.6 and Python 3.7 builds would work either. So, our current inclination is to try and revive the old Python recipes and rebuild them against libxcrypt and put them into our third party package channel, but we have no idea how successful this would actually be. I'd be happy to hear your thoughts as we try to work through the problem. EDIT: could we repodata patch Python 3.6 and Python 3.7 to depend on the compatibility package |
You should be able to include the libxcrypt package in your env and it should build against that. |
My builds compile if I add |
If this can be solved by rebuilding the old |
So ABI is about runtime linking whereas the problem of possibly different headers is an API question. I only point this out to ensure that we keep the discussion straight. |
I uploaded a PR that I think would address the issue for Python 3.7. Linux and OSX builds are working, however, the Windows build is failing, and I have no ability to determine what is wrong (I haven't debugged a Windows build in almost 10 years), and the fault appears to be in some of the other recipe changes from Assuming that we can overcome that issue, I can put up a Python 3.6 build afterward. |
Thanks Aaron! 🙏 Added a suggestion on that PR. It's possible we will need to adjust that depending on how it goes Edit: In the worst case, we can always ignore Windows. CI failing just means it won't produce Windows packages, but we don't really need them to solve this issue anyways |
…id missing crypt.h during (See build conda-forge/linux-sysroot-feedstock#52) Fix bug in path pruning for windows in test setup Add error classes for compilation tool errors Add checks for matches to lower case versions of tool names Prefer MSVC compiler over gnu for fortran compat with C/C++ on windows
* Python 3.8 conda-forge distributions depend on crypt.h in the Python.h, but given changes in late 2023 crypt.h is no longer distributed in the same include/ directory as Python.h and so for Python 3.8 Linux builds needs to be provided by installing libxcrypt as a host requirement and then additionally making the location of the installed crypt.h include/ directory findable by prepending it to CPATH (https://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html). - c.f. conda-forge/linux-sysroot-feedstock#52
* Python 3.8 conda-forge distributions depend on crypt.h in the Python.h, but given changes in late 2023 crypt.h is no longer distributed in the same include/ directory as Python.h and so for Python 3.8 Linux builds needs to be provided by installing libxcrypt as a host requirement and then additionally making the location of the installed crypt.h include/ directory findable by prepending it to CPATH (https://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html). - c.f. conda-forge/linux-sysroot-feedstock#52
Unbundled now |
There is an ABI change from SONAME 1 to SONAME 2 from alma/rocky 8 to alma/rocky 9 for libxcrypt. Some of our packages don't run out of the box on alma 9 without extra an extra compatibility package installed on the runtime OS.
We should
libcrypt.so
/libcrypt.a
from our current sysrootslibcrypt*.so*
from our current sysrootspossibly rename the libxcrypt package to libxcrypt2 to reflect the ABIcc @jakirkham @isuruf
The text was updated successfully, but these errors were encountered: