Hi, and thanks for the informative reply!

What happens when you

 $ perl -MLog::Log4perl::Layout::PatternLayout -E 'say "ok"'


Says "ok" so it (apparently?) doesn't think that PatternLayout.pm is actually missing.

I forgot to mention that I WAS able to create a new "demo" business, so that much is working, at least,
despite some creative launching (right now I'm manually launching starman-ledgersmb until I get around to
writing a SYSV init script for LFS)  It's a shame mod_perl didn't come out for 2.4 sooner, but what can you do.  Still,
good to dust off the cobwebs from my server building skills.

 
What it proposes is that you check the data in the acc_trans table for NULL values in the 'amount' column. A way to get rid of it (if it's not referenced from anywhere) would be to run the query "DELETE FROM acc_trans WHERE amount IS NULL". By "not being referenced from anywhere", I mean that the rows in acc_trans can themselves reference "invoice" rows or be referenced by "payment_link" rows or "cr_report_line" rows (off the top of my head) and probably others. When those lines refer to these rows, either the referencing rows are meaningless (likely this is the case for "invoice" rows). Or they need to be replaced by a functional equivalent (this is likely the case for "cr_report_line" rows). Links are supposed to be on the "entry_id" field in the "acc_trans" table.


Doing "SELECT FROM acc_trans WHERE amount IS NULL" returns zero rows (on both databases).
The "entry_id" column of table "acc_trans" is just sequential numbers, as far as I can tell.  Maybe I misunderstand.

"payment_links" and "cr_report_line" are both empty tables in that database.

Hope the above helps a bit!

It gives me something to test, at least.  I was concerned that the database I was trying to convert might be too old (it's from a defunct business, but I'm 99% certain I've pulled it up in 1.3.x), so I tried one that I used most recently before upgrading, and got exactly the same result.
—Victor