Nick: The following should make 1.4 behave the same on debian and other platforms and do so in the most secure way possible. https://github.com/ledgersmb/LedgerSMB/pull/1972.patch
Could you please test. On Thu, Aug 4, 2016 at 3:10 PM, Chris Travers <chris.trav...@gmail.com> wrote: > As an update on the error:... There's apparently some emergency patching > going on in the Perl community. I don't know how long before we hear the > full story but based on the panicked rush..... > > It looks like upstream Perl will fix the opacity problem. See > https://rt.perl.org/Ticket/Display.html?id=128769 > > On Thu, Aug 4, 2016 at 2:02 PM, Nick Prater <n...@npbroadcast.com> wrote: > >> ledgersmb has stopped working on my Debian system. Substituting "use >> parent" for "use base" in two modules has 'fixed' the problem. >> >> I believe this is since a recent perl update, but only discovered the >> problem on restarting Starman after upgrading ledgersmb. The problem is >> not specific to one version of ledgersmb - I see the same issue with >> 1.3.26 and 1.3.31. >> >> I am running Debian GNU/Linux 8.5 (jessie) with perl 5.20.2 and >> ledgersmb 1.3.31 >> >> I try to start ledgersmb with: >> # starman --preload-app tools/starman.psgi >> >> But I get an error: >> >> > Error while loading /srv/ledgersmb-1.4.31/tools/starman.psgi: >> > Base class package "LedgerSMB::DBObject" is empty. >> > (Perhaps you need to 'use' the module which defines that package first, >> > or make that module available in @INC... [snip] >> > at LedgerSMB/Setting.pm line 53 >> >> http://perldoc.perl.org/perlobj.html says: >> >> > ...Much older code also uses the base pragma. >> > For new code, we recommend that you use the parent pragma to >> > declare your parents. This pragma will take care of setting @ISA. >> > It will also load the parent classes and make sure that the >> > package doesn't inherit from itself. >> >> changing "use base" for "use parent" in Setting.pm fixes this error. >> >> I then get another error: >> >> > Error while loading /srv/ledgersmb-1.4.31/tools/starman.psgi: >> > Base class package "LedgerSMB::Request" is empty. >> > (Perhaps you need to 'use' the module which defines that package first, >> > or make that module available in @INC... [snip] >> > at LedgerSMB.pm line 182. >> > > > >> >> changing "use base" for "use parent" in LedgerSMB.pm fixes this error. >> Starman then starts and I can use ledgersmb normally. >> >> Frankly I don't understand why "use base" is failing in these two >> locations and why "use parent" behaves differently. I wonder if this >> problem is unique to my setup, or it affects others also. For now I'm up >> and running. I document my steps here in case anybody else encounters a >> similar problem, but I'd also appreciate any words of wisdom to help me >> understand what is happening. >> > > http://ledgersmbdev.blogspot.dk/2016/07/notes-on-security- > separation-of.html has a fair bit of information. > >> >> Many thanks, >> >> Nick >> >> >> ------------------------------------------------------------ >> ------------------ >> _______________________________________________ >> Ledger-smb-devel mailing list >> Ledger-smb-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel >> > > > > -- > Best Wishes, > Chris Travers > > Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor > lock-in. > http://www.efficito.com/learn_more > -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more
------------------------------------------------------------------------------
_______________________________________________ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel