[Pkg-sql-ledger-discussion] Bug#844276: Error: Can't locate lsmb-request.pl in @INC

Robert J. Clay rjclay at gmail.com
Sun Nov 20 14:04:24 UTC 2016


All,

There is an error that comes up from LedgerSMB on Debian or Debian derived
systems with perl-base version 5.22.2-4 or newer, caused by the 'current
directory' (".") no longer being in the '@INC' Perl search path by default.
It shows up at when using CGI and Apache to access the LedgerSMB
application, so at least for version 1.4.x (and 1.3.x) which use that by
default. An example from an Apache error.log when attempting to access
setup.pl is as follows:

Can't locate lsmb-request.pl in @INC (@INC contains: /etc/perl
/usr/local/lib/i386-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1
/usr/lib/i386-linux-gnu/perl5/5.24 /usr/share/perl5
/usr/lib/i386-linux-gnu/perl/5.24 /usr/share/perl/5.24
/usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base) at
/usr/share/ledgersmb/setup.pl line 8.


An LedgerSMB issue [1] has been opened for the issue; and a Debian bug was
created [2] and forwarded to it. There is also a "User Tag" in Debian being
used to track packages affected by the issue [3].

The currently known distributions where this is being seen or is expected
to be present is Debian Testing ('Stretch'), Debian Unstable ("Sid"), and
the current Ubuntu development version ("Zesty").

A work around is that there is a line in the /etc/perl/sitecustomize.pl
file on Debian systems that can be commented out in order to not remove the
"." (current directory) from the Perl @INC path. The following line is
uncommented by default on current Debian Testing & Unstable systems:

  pop @INC if $INC[-1] eq '.' and !$ENV{PERL_USE_UNSAFE_INC};

If left that way, the error will come up when attempting to access
LedgerSMB running under the Apache web server (which is the default for
v1.4.x). If that line is commented out, the error does not come up. (Note
that it is commented out by default on Debian v8, 'Jessie'. )

There may be other work arounds, like setting the PERL_USE_UNSAFE_INC
environment variable, but that I have not yet tested. And there may not be
work around like that on any system (not just Debian) with Perl v5.24, as I
understand that not having the current directory in @INC is compiled into
the interpreter, but that would be need to be tested further.





Robert James Clay
rjclaygmail.com
jame at rocasa.us

[1] https://github.com/ledgersmb/LedgerSMB/issues/2275
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844276
[3]
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-cwd-inc-removal;users=debian-perl@lists.debian.org
=

-- 
Robert J. Clay
rjclay at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-sql-ledger-discussion/attachments/20161120/786b7eab/attachment.html>


More information about the Pkg-sql-ledger-discussion mailing list