Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Provide python executable compiled with enable-shared

Đang mở
#595 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python, shell
Lĩnh vực
build-system

Hướng nghiên cứu

Bắt đầu bằng cách đọc cấu hình multi-output của recipe, build_base.sh, build_shared và build_static. Kiểm tra conda_build_config.yaml ảnh hưởng như thế nào đến bản build macOS và xem xét các lỗi tkinter và thư viện dùng chung đã được báo cáo. Hoàn thành khi một subpackage được hỗ trợ cung cấp một tệp thực thi Python được build với enable-shared và vượt qua các bài kiểm thử liên quan của package.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

question
Comment:

Related: https://github.com/conda-forge/python-feedstock/issues/222#issuecomment-1309248101 .
My use-case: https://github.com/lammps/lammps/issues/3520

This could be provided as a subpackage, say python-shared, and install a python.VERSION_shared that the user could symlink or put in front of $PATH, as needed.

I would have built it myself but I am a bit lost since building this recipe with enable-shared is not being easy.

The usual ways of debugging a failing conda build do not work with this package: conda debug ends up giving me an environment where there's no script to activate the environment and no build script either, perhaps because the recipe has multiple outputs and conda debug does not know what to do with it.

So far had to remove the libpython-static output, make the recipe a single output recipe, move build_base.sh to build.sh, edit out script:build.sh, comment out rm .../libpython(...)$VERSION(...).a in build_shared, and add f to ln -sf ../../libpython${VERABI}.a libpython${VERABI}.a in build_static.

The last hurdle is that after building, conda build packages it, where it alters the paths that libraries/execs refer too ( I'm not very knowledgeable about this) and it fails with this message, which I guess has to do with signing in osx-arm64.
PS: fixed it by editing conda-builld/.../post.py https://github.com/conda/conda-build/issues/4392#issuecomment-1310893278

Tests do not pass (tkinter something), but I installed the package anyways and for my use-case it seems to function
PS: does not. conda_build_config.yaml included in the repo overrode the one I had in my home folder, so it did not pick up on the openssl==1.1 constraint and then when I replaced the python in my installation with the shared one it complained it could not find libssl.3.dylib.

After fixing that, for some reason 'libffi.7.dylib' was required by 'import _ctypes', which I fixed in the install environment by symlinking 'libffi.8.dylib' to 'libffi.7.dylib'.

Ngôn ngữ chính
Shell
Star
47
Fork
112
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
15

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của conda-forge/python-feedstock

Tất cả issue của conda-forge/python-feedstock

Issue tương tự

Thêm issue về Shell/Bash

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.