Bug#492815: bogus dependencies when building pelr modules, missing dependency in libperl-dev
Niko Tyni
ntyni at debian.org
Thu Nov 4 21:45:34 UTC 2010
On Thu, Nov 04, 2010 at 09:49:22PM +0100, Marc Lehmann wrote:
> On Thu, Nov 04, 2010 at 09:46:15PM +0200, Niko Tyni <ntyni at debian.org> wrote:
> > I'm not seeing this behaviour, and it would be a serious problem for our
> > autobuilders so they aren't either. Does it still happen for you?
>
> No, this has been fixed since then.
OK, thanks.
> > > But libperl-dev lacks these depencies, so one has to install those manually.
> >
> > The libperl-dev package is only needed for linking against libperl.so itself,
> > its dependencies aren't really related to what ExtUtils::MakeMaker needs.
>
> Of course they are - if I install perl I cannot build xs-modules, I need
> libperl-dev,
No. The libperl-dev package only contains /usr/lib/libperl.so and
/usr/lib/libperl.a, and only depends on perl and libperl5.10. It is not
related to building XS modules. Its description reads
Files for developing applications which embed a Perl interpreter and
for programs compiled with perlcc.
(Hmph, I see the reference to 'perlcc' is stale and should be removed.)
> and since perl requires linking against -lgdbm (or did so in the
> past), *something* has to depend on libgdbm-dev, and the obvious place for
> this is libperl-dev. The same is true for any other library perl is required
> to link against when building your own perl binaries or modules.
We don't currently offer a package that is designed to pull in everything
needed for building XS modules. You must manually install at least gcc,
libc6-dev, and make. Alternatively, the 'build-essential' package depends
on everything necessary to compile C and C++ 'Hello, world!' applications,
which is pretty much the same thing.
> Same princpiple applies - there must be a debian package which depends on
> pthread.h and other development files because without it, building perl
> modules isn't possible.
The package that contains pthread.h is libc6-dev, which is part of the
build-essential set and therefore does not need to be listed in package
build dependencies. Building XS modules outside the packaging system
requires manually installing libc6-dev.
> Without the dependency there is no way to build perl
> extensions/binaries/modules without manually installing perl-dev
> dependencies (currently only libc-dev).
libperl-dev does not depend on libc6-dev and is not intended for
building perl extensions.
> Or maybe debian doesn't support ExtUtils::MakeMaker? Or maybe debian requires
> one to install build-dependencies for perl to install modules?
We don't offer a shortcut for pulling in the tools needed to install
modules outside the Debian package system, unless that shortcut is
considered to be the 'build-essential' package.
It might make sense for libperl-dev to do that in addition to its current
purpose, but at the moment it doesn't (and never has AFAIK.)
I was actually going to pull in 'make' by default as it's the only
requirement for installing pure perl CPAN modules, but I ended up
reverting that change recently due to http://bugs.debian.org/596734
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list