perl-Alien-Role-Dino - Experimental support for dynamic share Alien install

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports i586
Package filename perl-Alien-Role-Dino-0.06-alt1.1.i586.rpm
Package name perl-Alien-Role-Dino
Package version 0.06
Package release alt1.1
Package architecture i586
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 41.41 KB
Installed size 41.41 KB
Every now and then someone will ask me why thus and such the Alien manpage thing
doesn't work with a dynamic library error.  My usual response is can you
make it work with static libraries?  The reason for this is that
building dynamic libraries for an the Alien manpage share install introduce
a number of challenges, and honestly I don't see the point of using
them, if you can avoid it.  So far I haven't actually seen a situation
where it couldn't be avoided.  Just to be clear: dynamic libraries are
fine for Alien, and in fact desirable when you are using the system
provided libraries.  You get the patches and security fixes supplied by
your operating system.
Okay, so why not build a dynamic library for a share install?
For this discussion, say you have an alienized library `Alien::libfoo'
and an XS module that uses it called `Foo::XS' (as illustrated in the
synopsis above).
=over 4
=item Your Alien becomes a run-time dependency.
When you link your `Foo::XS' module with a static library from
`Alien::libfoo' it gets added into the DLL or `.so' file that the Perl
toolchain produces.  That means when you later use it, it doesn't need
anything else.  When you try to do the same thing with a dynamic
library, you need that dynamic library, which is stored in a share
directory of `Alien::libfoo'.
For people who install out of CPAN this is probably not a big deal, but
for operating system vendors (the people who integrate Perl modules into
their operating system), it is a hassle because now you need this big
build tool the Alien::Build manpage and the alien `Alien::libfoo' with extra
dependencies during runtime.  Normally you wouldn't need those packages
installed for end-user use.
=item Upgrades can and will break your XS module.
Again, when `Alien::libfoo' builds a static library and it gets linked
into a DLL or `.so' for `Foo::XS', it doesn't need the original
library anymore.  If you are using a dynamic library and you do the same
thing it maybe works today, but say tomorrow yo...


Package Version Architecture Repository
perl-Alien-Role-Dino-0.06-alt1.1.x86_64.rpm 0.06 x86_64 Autoimports
perl-Alien-Role-Dino - - -


Name Value
/usr/share/perl5 -
perl(Alien/Build/ -
perl( -
perl(FFI/ -
perl(Path/ -
perl(Role/ >= 1.003.001
perl(Role/Tiny/ -
perl( -
rpmlib(PayloadIsLzma) -


Name Value
perl(Alien/Build/Plugin/Gather/ = 0.060
perl(Alien/Role/ = 0.060
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl(Alien/Role/Dino/ -
perl-Alien-Role-Dino = 0.06-alt1.1


Type URL
Binary Package perl-Alien-Role-Dino-0.06-alt1.1.i586.rpm
Source Package perl-Alien-Role-Dino-0.06-alt1.1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] i586 autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Alien-Role-Dino rpm package:
    # sudo apt-get install perl-Alien-Role-Dino



See Also

Package Description
perl-Alien-Texinfo-0.005000-alt1.1.i586.rpm Find Or Download/Build/Install libtexinfo In Texinfo
perl-Alien-ZMQ-latest-0.004-alt1.1.i586.rpm Alien package for the ZeroMQ library
perl-Alien-autoconf-0.14-alt1.1.i586.rpm Build or find autoconf
perl-Alien-bison-0.19-alt1.1.i586.rpm Find or build bison, the parser generator
perl-Alien-freexl-1.03-alt1.1.i586.rpm Alien package for the FreeXL library
perl-Alien-geos-af-1.007-alt1.1.i586.rpm Alien package for GEOS - Geometry Engine, Open Source
perl-Alien-gmake-0.21-alt1.1.i586.rpm Find or build GNU Make
perl-Alien-gperf-0.005-alt1.1.i586.rpm Perl distribution for GNU gperf
perl-Alien-gzip-0.05-alt1.1.i586.rpm Find or build gzip
perl-Alien-libtool-0.12-alt1.1.i586.rpm Build or find libtool
perl-Alien-libuuid-0.02-alt1.i586.rpm Find or download and install libuuid
perl-Alien-libuv-1.012-alt1.i586.rpm Interface to the libuv library L<>
perl-Alien-m4-0.17-alt1.1.i586.rpm Find or build m4
perl-Alien-nasm-0.22-alt1.i586.rpm Find or build nasm, the netwide assembler
perl-Alien-patch-0.14-alt1.1.i586.rpm Find or build patch