Copy dependencies required by a Linux executable.
Project description
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()
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file copydeps-1.1.1.zip
.
File metadata
- Download URL: copydeps-1.1.1.zip
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 747e74fc32efff5ba6353d5833893a61b70299d4a040de8514875282dfc1c7a4 |
|
MD5 | bc280ef429805fd5e62ea047f44422b6 |
|
BLAKE2b-256 | 68b5f8553b4ec412bd47ed88079bbe1d5c09019387eeccf7268e49137ba8cbab |