Skip to content

python38Packages.pydantic: fix build with libxcrypt#202262

Merged
mweinelt merged 1 commit intoNixOS:masterfrom
alcarney:python38-pydantic-libxcrypt
Mar 10, 2023
Merged

python38Packages.pydantic: fix build with libxcrypt#202262
mweinelt merged 1 commit intoNixOS:masterfrom
alcarney:python38-pydantic-libxcrypt

Conversation

@alcarney
Copy link
Contributor

Description of changes

Trying to build pydantic under Python 3.8 fails with a number of errors of the form

In file included from pydantic/parse.c:18:
/nix/store/wf5ihzbfnpfc08v7b4x9n5cfphji2msa-python3-3.8.15/include/python3.8/Python.h:44:10: fatal error: cryp>
   44 | #include <crypt.h>
      |          ^~~~~~~~~
compilation terminated.
building 'pydantic.types' extension

which looks like a similar issue to #198036.

Copying the fix in #198045 seems to resolve the issue.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Nov 21, 2022
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Nov 21, 2022
hellwolf added a commit to hellwolf/nixpkgs that referenced this pull request Dec 26, 2022
Building python.pkgs.shiboken2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (NixOS#202262).

The fix is to use libxrypto for these older python versions.
hellwolf added a commit to hellwolf/nixpkgs that referenced this pull request Dec 26, 2022
Building python.pkgs.pyside2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (NixOS#202262).

The fix is to use libxrypto for these older python versions.
@hellwolf
Copy link
Contributor

FWIW: another similar one #207829

bjornfor pushed a commit that referenced this pull request Dec 26, 2022
Building python.pkgs.shiboken2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.
bjornfor pushed a commit that referenced this pull request Dec 26, 2022
Building python.pkgs.pyside2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.
github-actions bot pushed a commit that referenced this pull request Dec 27, 2022
Building python.pkgs.shiboken2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.

(cherry picked from commit e807775)
github-actions bot pushed a commit that referenced this pull request Dec 27, 2022
Building python.pkgs.pyside2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.

(cherry picked from commit 9ad22eb)
bjornfor pushed a commit that referenced this pull request Dec 27, 2022
Building python.pkgs.shiboken2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.

(cherry picked from commit e807775)
bjornfor pushed a commit that referenced this pull request Dec 27, 2022
Building python.pkgs.pyside2 fails for python version older than 3.9,
due to crypt.h header issue related to older glibc (#202262).

The fix is to use libxrypto for these older python versions.

(cherry picked from commit 9ad22eb)
@mweinelt
Copy link
Member

Looks like this is still required and I missed reviewing it, sorry. Can you apply the fix and rebase?

Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
@alcarney alcarney force-pushed the python38-pydantic-libxcrypt branch from 48cad2e to dd3185a Compare March 10, 2023 19:14
@alcarney
Copy link
Contributor Author

No worries, that should be done now :)

@mweinelt mweinelt merged commit 80639b5 into NixOS:master Mar 10, 2023
@SuperSandro2000
Copy link
Member

Where do we still require python 3.8?

@mweinelt
Copy link
Member

We still provide it, that's all that's required to accept a fix.

@alcarney alcarney deleted the python38-pydantic-libxcrypt branch March 10, 2023 22:56
@SuperSandro2000
Copy link
Member

We don't recurse into 3.8 anymore which I always thought indicates that the package sets are no longer actively maintained.

@Janik-Haag Janik-Haag added the 12.first-time contribution This PR is the author's first one; please be gentle! label Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants