delocate-wheel and non-fixed brew dependency
See original GitHub issueI am trying to use multibuild (great project btw, thanks a lot for this one) to make wheels for swiglpk but have difficulty to fix the library dependencies for the mac wheels. A reproducible example for is
$ git clone https://github.com/biosustain/swiglpk
$ brew install glpk
$ cd swiglpk/
$ python setup.py bdist_wheel
$ delocate-listdeps dist/swiglpk-1.2.22+4.g954dc63-cp35-cp35m-macosx_10_6_intel.whl
/usr/local/Cellar/glpk/4.60/lib/libglpk.40.dylib
$ delocate-wheel -v -w fixed-wheel dist/swiglpk-1.2.22+4.g954dc63-cp35-cp35m-macosx_10_6_intel
$ delocate-listdeps fixed-wheel/swiglpk-1.2.22+4.g954dc63-cp35-cp35m-macosx_10_6_intel.whl
/usr/local/Cellar/glpk/4.60/lib/libglpk.40.dylib
With the last call to delocate-listdeps
I expected no output indicating that delocate-wheel
had copied the dependency to the wheel. Am I missing something or is this a bug somehow?
Issue Analytics
- State:
- Created 7 years ago
- Comments:10 (6 by maintainers)
Top Results From Across the Web
Formula Cookbook - Homebrew Documentation
Documentation for the missing package manager for macOS.
Read more >Easy way to have Homebrew list all package dependencies
Here is a command that will list all formulas that aren't dependents of any other formulas (leaves), and for each of them lists...
Read more >Untangling Your Homebrew Dependencies - Jonathan Palardy
brew uses perl --installed # --installed is important, otherwise ALL packages are considered vim. How can I see all dependencies?
Read more >Remove unused brew dependencies and delete outdated ...
Uninstalling a brew dependency does not remove its dependencies. There is an easy solution for that, though. If you want to delete outdated ......
Read more >Homebrew, list all packages which are no dependency of ...
$ brew leaves. Docs: List installed formulae that are not dependencies of another installed formula.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Ah - yes - I see. The wheel processor specifically looks in the subdirectories within the wheel, and not in the compiled modules at the top level. The reason is that it wants to create a new subdirectory, called
.libs
with the copied libraries in. This is unique to the package if it can work in a subdirectory (.../site-packages/yourpkg/.libs/copied_lib.dylib
), but may well not be unique for a module at the top level (.../site-packages/.libs/copied_lib.dylib
). So, to make it easier for delocate, you could make the module into its own package. Otherwise, I guess I’d need to work out some naming scheme for the generated lib / lib directory.Great - thanks for the quick feedback.