-
Notifications
You must be signed in to change notification settings - Fork 81
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
Native library bundling and CI job for os dependent wheel distribution #160
base: develop
Are you sure you want to change the base?
Conversation
implemented unix compatible library loading first try to build on linux Revert "added version number" This reverts commit 6c77c2a. implemented linux build flipped arch dir added version number include so with version number
@etiennedub I released the bundled library on PyPI: pyk4a-bundle #157 |
@cansik Great! Just when using pyk4a-bundle, mypy complains for some reason (with "ordinary" pyk4a, it is ok):
|
And when trying to open the sensor, I'm unfortunately getting
|
@ZdenekM Thanks for your reports, I will investigate a bit more. I assume you are working on Ubuntu? I also noticed that currently numpy 1.22.1 is used to compile the wheel packages, which could be a problem for projects with older numpy libraries installed. |
Well, I actually tried it within a docker container based on "python:3.9-slim-buster", but on Ubuntu 20.04, I'm getting the same. My numpy is at version 1.22.1. |
@cansik , please add |
I have to check why it is not included, I did not change the options in the setup.py, so it should be included as mentioned here: |
Released version pyk4a-bundle 1.3.0.1 @ZdenekM I am now working on the linux support, this may take some time |
Thank you for your effort! |
@ZdenekM I tested the package on a Update I guess the auditwheel step makes copying the libs directly into the module unnecessary for Linux. |
After some try-and-error to include the libdepthengine.so.2.0 into the package by auditwheel, I now just use wheel unpack & pack to adjust the wheel after auditing. Definitely not the best way, but it works and the library runs on Linux, also with depth support. Please try it out by installing version pyk4a-bundle 1.3.0.2 |
I updated but still getting the same error |
This is the output I got from |
Maybe this pypa/auditwheel#103 could be related? |
@ZdenekM Thanks, which ldd --version |
|
@rajkundu Thank you for trying it out. I am aware that Unix is still a problem, maybe someone with many-linux pip package experience can help here. I mainly work on MacOS & Windows, so Linux support was more an additional thing. @lpasselin Interesting, I am not sure what the problem could be there, but I will give it a try later. Thanks for mentioning! |
Thank you for your help! Do you have any advice in the meantime for me to be able to get the depth engine working on Linux? For me, the SDK works (no import error) when I simply run I saw this post:
How can I replicate this with just regular |
@rajkundu |
I installed the SDK using
My This error is:
and here is the relevant GitHub issue. Seems to me like it could be an issue with the SDK, not pyk4a. What do you think? Finally, I'm running on a headless environment, which I believe is also known to come with its own set of issues due to OpenGL. I'll try the same pyk4a code on Windows and see if that works instead. |
Any news on this? :-) |
I am trying to install pyk4a with anaconda and running into the dll not found issues. Is there a solution to this issue? |
No solution for Anaconda unfortunately. Someone would need to dig into this. I don't have much knowledge about the internals of conda. |
A user found the fix: #167 |
@cansik would you be able to rebase your branch on develop and reset the PR target branch on develop? |
implemented unix compatible library loading first try to build on linux Revert "added version number" This reverts commit 6c77c2a. implemented linux build flipped arch dir added version number include so with version number
@lpasselin I did a rebase of my master to |
Thank you for that. Most of the work is done and I am now confident we will be able to merge soon. Let's take our time to properly review the final steps of this PR. To be 100% sure we aren't breaking any regular pyk4a install. I would like to try installing the package from source on a linux system. Will only have access to my linux machine in 2 weeks. Can anyone try to install cansik's branch on linux? |
As already mentioned in #157 , this PR adds support for native libraries bundled within the package, as well as a multi-os (Windows / Unix) build CI task for github.
At the moment the build task creates wheels for x64 Windows and Linux operating systems and uploads the resulting wheel files into a new release on github. I guess it would make sense to have the following features implemented as well, but it would make sense if the maintainer would define / approve them first: