Skip to main content

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:

Qt5QuickControls2 dependencies

Limitations

copydeps does not detect libraries loaded with dlopen().

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

copydeps-1.1.1.zip (8.3 kB view details)

Uploaded Source

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

Hashes for copydeps-1.1.1.zip
Algorithm Hash digest
SHA256 747e74fc32efff5ba6353d5833893a61b70299d4a040de8514875282dfc1c7a4
MD5 bc280ef429805fd5e62ea047f44422b6
BLAKE2b-256 68b5f8553b4ec412bd47ed88079bbe1d5c09019387eeccf7268e49137ba8cbab

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page