++ed by:
2 non-PAUSE users
Author image Slaven Rezić


cpan-sysdeps - report system dependencies for CPAN modules


    cpan-sysdeps --cpanmod Foo::Bar
    cpan-sysdeps --cpandist Foo-Bar-1.23.tar.gz



Option to select a CPAN distribution. At least one of these two is mandatory:


Options to simulate another environment:


Change the operating system name. Values are the same as in perl's $^O.


Change the operating system version. On FreeBSD systems this is the output of uname -r.


For --os=linux only: change the distribution id. This is a lowercase name like debian or fedora.


For --os=linux only: change the distribution version code name. This is a name like wheezy or jessie.


For --os=linux only: change the distribution version.

Other options:


Show only the packages which are currently uninstalled. Of course, this makes only sense if the environment is not simulated to something else.

If there happen to be alternatives in the package specifications and all of these are not installed, then these will be reduced to the first package in the specification.


Show the package installation commands which would run.


Actually run the package installation commands.


Enable the debug option of CPAN::Plugin::Sysdeps.


  • There's no real mapping from CPAN module names to distribution names and vice versa. Currently it's best to stick to just module names, as currently the mapping file only uses module names. A real solution would have to use CPAN.pm or a suitable web service.

  • Currently both --linuxdistrocodename and --linuxdistroversion have to be set; there's no automatic conversion between those two. Currently the mapping file uses only codenames, so it may be sufficient to specify only this one.

  • It's not possible to specify a custom mapping like in CPAN::Plugin::Sysdeps.


cpan-sysdeps may be used to utilize CPAN::Plugin::Sysdeps::Mapping outside of CPAN.pm. For example on a Debian-like system:

    apt-get install $(cpan-sysdeps --uninstalled --cpanmod Foo::Bar)

Or everywhere:

    cpan-sysdeps --cpanmod Foo::Bar --run


Slaven Rezic