copydeps
Introduction
copydeps is a tool to analyze and copy the dependencies of ELF binaries, as used on Linux and other UNIX systems. It is useful to create light, self-contained installers.
It works on both executables and libraries.
Requirements
- A Linux system (copydeps might work on BSD systems, but this has not been tested)
- Python 3
- pyelftools
- ldd
Installation
Install with ./setup.py install or just run copydeps.py from the source
tree.
Usage
Copying dependencies
Assuming you want to copy all dependencies of the foo binary to the current
directory, run:
copydeps /path/to/foo -d .
The list probably includes way too many libraries you can assume to be
installed on the destination system. To tell copydeps to ignore them, create a
exclude list file (you can have a look at exclude-list.sample for
inspiration) and run it like this:
copydeps --exclude your/exclude-list /path/to/foo -d .
Analyzing dependencies
You can tell copydeps to generate a dependency diagram using the --dot
option. If you just want to look at the dependency diagram, add the
--dry-run option to prevent copying:
copydeps --exclude your/exclude-list /path/to/foo --dry-run --dot foo.dot
You can now view the diagram using any Graphviz viewer, such as xdot.
As an example, here is the dependency diagram of Qt5QuickControls2:
Limitations
copydeps does not detect libraries loaded with dlopen().
Metadata
Release files for copydeps 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| copydeps-1.1.1.zip | 8.3 kB | Details |
Release files / copydeps-1.1.1.zip
| Download URL | copydeps-1.1.1.zip |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
747e74fc32efff5ba6353d5833893a61b70299d4a040de8514875282dfc1c7a4
|
|
BLAKE2b-256 checksum How to use checksums |
68b5f8553b4ec412bd47ed88079bbe1d5c09019387eeccf7268e49137ba8cbab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
|