Skip to content

python3: libcrypt doesn't need to be a dependency of libpython - #28887

Merged
Billy O'Neal (BillyONeal) merged 1 commit into
microsoft:masterfrom
rcoup:rc-py310-no-libcrypt
Jan 18, 2023
Merged

Billy O'Neal (BillyONeal) merged 1 commit into
microsoft:masterfrom
rcoup:rc-py310-no-libcrypt

Conversation

@rcoup

Copy link
Copy Markdown
Contributor
  • What does your PR fix?

vcpkg's Python3 libpython3.10.so currently depends on libcrypt (as a system dependency), but it doesn't need to - it uses no symbols from the library. libcrypt is different on Linux between RH-based and Debian-based distros too, which makes it annoying.

This is fixed upstream in Python3.11. Backport the upstream change here.

  • Which triplets are supported/not supported? Have you updated the CI baseline?

all (x64-linux-dynamic)

Yes

  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

Yes

@rcoup

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="Koordinates Limited"

github-actions[bot]
github-actions Bot previously approved these changes Jan 12, 2023

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

Details

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/python3/portfile.cmake

@FrankXie05 Frank (FrankXie05) added the category:port-bug The issue is with a library, which is something the port should already support label Jan 12, 2023
Comment thread ports/python3/0012-configure-no-libcrypt.patch Outdated
Comment thread ports/python3/portfile.cmake Outdated
Fixed upstream in Python3.11 via python/cpython#89596

Backport here to Python3.10 so libpython doesn't have a needless system
dependency on libcrypt (which is different on Linux between RH-based and
Debian-based distros too).
Robert Coup (rcoup) added a commit to rcoup/kart that referenced this pull request Jan 12, 2023

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

Details

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/python3/portfile.cmake

@rcoup

Copy link
Copy Markdown
Contributor Author

Frank (@FrankXie05) anything else I need to do here?

@FrankXie05

Copy link
Copy Markdown
Contributor

Robert Coup (@rcoup) We need fix the CI baseline issue. :)

D:\buildtrees\aom\src\2edfc9ae71-336de0ab24.clean\aom_dsp\simd\v64_intrinsics_c.h(775) : fatal error C1002: compiler is out of heap space in pass 2
D:\buildtrees\aom\src\2edfc9ae71-336de0ab24.clean\aom_dsp\simd\v128_intrinsics_c.h(50) : fatal error C1002: compiler is out of heap space in pass 2

https://dev.azure.com/vcpkg/public/_build/results?buildId=83558&view=artifacts&pathAsName=false&type=publishedArtifacts

@rcoup

Copy link
Copy Markdown
Contributor Author

Clicking on the artifacts in that list does nothing — is there some permission needed to see the logs?

  1. vtk on macos installs fine for me, but it also doesn't depend on Python3 in CI...
  2. aom doesn't depend on Python3...

Is there a way to re-run CI?

@FrankXie05

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@FrankXie05 Frank (FrankXie05) added info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. and removed requires:author-response labels Jan 18, 2023
@BillyONeal
Billy O'Neal (BillyONeal) merged commit d2b8d93 into microsoft:master Jan 18, 2023
@BillyONeal

Copy link
Copy Markdown
Member

Thanks for the backport!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-bug The issue is with a library, which is something the port should already support info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants