Wheel repair question #1303
-
Hi all, I am trying to perform wheel repairing on my first c++/python project. The dynamic libraries are built on build time and do not exist beforehand. Here is a quick folder layout. project_folder Using scikit-build and cmake, this compiles into the following folder structure. my_proj/_libs (contains the built runtime dependencies) However, when performing wheel repair, delocate can't find the libraries in the _libs folder. Even using
and setting REPAIR_LIBRSRY_PATH, I still have issues because of locating the temporary dir in which the wheel is built. I saw this script in a previous answer, but I would like to stay away from bash scripts. Is there a way to locate the dynamic libraries built under _libs in CIBW, or should I simply use bash scripts to circumnavigate my current issue? Or should I simply restructure my project in a way CIBW can somehow work? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
Here is a short copy of the log.
|
Beta Was this translation helpful? Give feedback.
-
To answer my question, restructuring my package worked. I followed what the maintainers of Freud did and installed the shared libraries directly into the sub-modules so CIBW can repair it. |
Beta Was this translation helpful? Give feedback.
-
Asking again for a similar problem, three years later. I'm trying to build a python package that is Cython wrapping a C lib that also requires a bunch of dependencies. the lib is libgd, which is pretty common on Linux systems, so Linux isn't too hard. For years, I've been doing it all with conda, as conda-forge has a libgd package, and all is good. However, I've got users that want a pure PyPi solution. I haven't done it for all these years because the dependencies are a pain, particularly on Windows. However I recently discovered vcpkg, which should make it all easy (or at least, doable). vcpkg has libgd, so that's all ready to go. And we set up the CI to build wheels, with vcpkg building the deps, and scikit-build-core building the package. And that all seems to work. However, when we get to the audit-wheel step, it can't find the libs that vcpkg built:
I've had no luck figuring this out. Making it SO much harder is that my local Windows machine is locked down, and I can't even get vcpkg to work at al locally, so can't tell what it's doing. Are there instruction somewhere on how to use vcpkg to provided dependencies for biulding wheels? There have to be others doing this .... Here's the issue in the project: @henryiii : have you made any progress on this? |
Beta Was this translation helpful? Give feedback.
To answer my question, restructuring my package worked. I followed what the maintainers of Freud did and installed the shared libraries directly into the sub-modules so CIBW can repair it.