question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

delocate-wheel and non-fixed brew dependency

See original GitHub issue

I 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:closed
  • Created 7 years ago
  • Comments:10 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
matthew-brettcommented, Sep 13, 2016

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.

0reactions
matthew-brettcommented, Nov 24, 2016

Great - thanks for the quick feedback.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found