Skip to content

Post 3.11 release fix#954

Merged
haixuanTao merged 10 commits intomainfrom
post-3.11-release-fix
Apr 10, 2025
Merged

Post 3.11 release fix#954
haixuanTao merged 10 commits intomainfrom
post-3.11-release-fix

Conversation

@haixuanTao
Copy link
Copy Markdown
Collaborator

Minor license fixes as well as documentation updates!

@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from 060331b to e2c0ed4 Compare April 8, 2025 14:16
@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from 9a32307 to fc93e88 Compare April 9, 2025 10:07
@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from 69c686f to a15c447 Compare April 10, 2025 10:23
@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from a15c447 to 1279aa5 Compare April 10, 2025 10:49
@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from 3b1317c to 1aeeec3 Compare April 10, 2025 12:04
@haixuanTao haixuanTao force-pushed the post-3.11-release-fix branch from 12bd998 to 0ec1214 Compare April 10, 2025 12:20
@haixuanTao
Copy link
Copy Markdown
Collaborator Author

one interesting feature of maturin zig is that they also link eternal dynamic library such as libdav1d-dev, making dora node not requiring system dependency when installed from pip, making it less likely fail.

I have only currently added this support for amd64 but we will in the future also be able to support all platform.

@phil-opp
Copy link
Copy Markdown
Collaborator

one interesting feature of maturin zig is that they also link eternal dynamic library such as libdav1d-dev, making dora node not requiring system dependency when installed from pip, making it less likely fail.

If you link against a dynamic library, you normally need to have it installed on the target system too. This sounds like zig is somehow able to link the dynamic libraries statically, but I'm not sure how that is possible. Do you have any links that explain this feature?

@haixuanTao
Copy link
Copy Markdown
Collaborator Author

haixuanTao commented Apr 10, 2025

one interesting feature of maturin zig is that they also link eternal dynamic library such as libdav1d-dev, making dora node not requiring system dependency when installed from pip, making it less likely fail.

If you link against a dynamic library, you normally need to have it installed on the target system too. This sounds like zig is somehow able to link the dynamic libraries statically, but I'm not sure how that is possible. Do you have any links that explain this feature?

I meam zig copies the dynamic link into the wheel and so redistribute it at the same time, see: https://github.com/dora-rs/dora/actions/runs/14379049575/job/40318281234#step:9:2415

It's still dynamically loaded but from a copied version

@phil-opp
Copy link
Copy Markdown
Collaborator

Ah, interesting! Does this happen automatically when a shared library is linked or is there any config required?

@haixuanTao
Copy link
Copy Markdown
Collaborator Author

Ah, interesting! Does this happen automatically when a shared library is linked or is there any config required?

It seems automatic. Only thing I have done is copy the shared library into its searched path:

mkdir -p $HOME/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib
ln -s /lib/x86_64-linux-gnu/libdav1d.so $HOME/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libdav1d.so

@haixuanTao haixuanTao merged commit cca47ce into main Apr 10, 2025
164 checks passed
@haixuanTao haixuanTao deleted the post-3.11-release-fix branch April 10, 2025 16:18
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.

2 participants