[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

perl [hurd-i386]: @INC has wrong order and missing paths



Hi,

Samuel Thibault <sthibault@debian.org> writes:
> Ansgar Burchardt, le Fri 02 Jul 2010 12:57:10 +0900, a écrit :
>> What does "perl -V" say about the value of @INC?
>
>   @INC:
>     /usr/lib/perl/5.10
>     /usr/share/perl/5.10
>     /usr/local/lib/perl/5.10.1
>     /usr/local/share/perl/5.10.1
>     /usr/lib/perl5
>     /usr/share/perl5
>     .

This is definitely wrong. There should be /etc/perl as the first element
and /usr/(share|lib)/perl5 must be before /usr/(share|lib)/perl/5.10 so
that packaged modules are preferred over those included in the core Perl
distribution as documented in the Debian Perl Policy[1].

Just for reference, the value of @INC on amd64 is:

  @INC:
    /etc/perl
    /usr/local/lib/perl/5.10.1
    /usr/local/share/perl/5.10.1
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.10
    /usr/share/perl/5.10
    /usr/local/lib/site_perl
    .

I think I also found the reason why this happens: When looking at the
output of "perl -V" on hurd-i386 I find

  Platform:
    [...]
    config_args='[...] -Dccflags=-DDEBIAN [...]'

  [...]
  Compiler:
    cc='cc', ccflags ='-D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',

While on amd64 the -DDEBIAN flag also appears in the compiler section of
the output:

  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN [...]'

But the patch debian/mod_paths.diff in the perl package depends on
-DDEBIAN to be of any use.

I have no idea where this flag gets lost on hurd-386.

Regards,
Ansgar

PS: The /etc/perl path seems to be missing in the Policy document.

[1] <http://www.debian.org/doc/packaging-manuals/perl-policy/ch-perl.html#s-paths>


Reply to: