[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bugs setting up a company database;
- Subject: Re: Bugs setting up a company database;
- From: David Godfrey <..hidden..>
- Date: Sat, 30 Apr 2016 20:46:34 +0800
On 30/04/16 20:05, Marjanw wrote:
> Hi Erik and David,
> Thanks for your reactions.
> On 2016-04-30 08:02, David Godfrey wrote:
>> Hi Marjan,
>> On 29/04/16 22:09, Erik Huelsmann wrote:
>>> Hi Marjan,
>>> On Wed, Apr 27, 2016 at 5:30 PM, Marjanw <..hidden.. <mailto:..hidden..>> wrote:
>>> Hi all,
>>> Before submitting bugs and/or feature requests on github I'd like to share
>>> my experiences on this mailing list.
>>> Thanks for taking the time to write up your installation experience! It's definitely an experience
>>> we can learn from.
>>> Since I wanted the most recent LSMB version I choose to download the tar
>>> archive (1.4.27) from Sourceforge.
>>> I used the INSTALL file for the installation instructions.
>>> Instead using the Debian packages I used cpanmin.us <http://cpanmin.us> to install all
>>> required Perl modules.
>>> * My two cents: Move Perl the module dependency list out of the INSTALL.md
>>> into a separate file which can be fed to cpanminus.
>>> It's an option, but I'm not even very hot about listing the dependencies in the INSTALL file: too
>>> much room for the various lists to get out of sync. The canonical listing of dependencies is in
>>> Makefile.PL. Would it be acceptable to refer to that from INSTALL?
> The INSTALL instructs you to first install all Perl modules from CPAN or using debs,
> then running $ perl Makefile.PL.
> (The INSTALL consistantly refers to $ instead of #. Is this intentionally?)
> If I'm getting you right, you say just skip the first step and run the Makefile.PL!
> What is the best procedure?
>>> One thing you may or may not be aware of (that we could add to the docs) is that you can install
>>> all dependencies without copy/pasting from INSTALL by using the command
>>> LedgerSMB-1.4.27$ cpanm --install-deps .
>> Be Aware, --install-deps installs *ALL* dependencies for ALL perl modules that LedgerSMB uses.
>> This may actually be not what you want as there are a *LOT* of extra modules installed that we don't
>> really need.
>> eg: YAML::Syck, File::Slurp, JSON::MaybeXS, and many many others.
>> It also installs the Testing infrastructure packages that we use for development like
>> Some of the package installs may fail as well, which prevents further packages from installing.
>> In the case of the test I just ran Test::BDD::Cucumber failed in this case caused by an error
>> installing YAML-Syck-1.29 because I don't have a C complier on that System
>> As far as I know we don't actually need Test::BDD::Cucumber on a production installation so this
>> error only serves to prevent the rest of the dependencies from being installed.
>> We may be able to solve this by changing the way we include modules like Test::BDD::Cucumber, but
>> I'll leave that to Erik to resolve as he knows the most about our current requirements.
>> There is also an install script in utils/install/lsmb-install.sh on master that handles 99% of use
>> It's currently a little crude in the way it's written, and is targeted at Debian based systems but
>> if you choose not to install the .deb packages when asked and instead install them yourself using
>> your normal system tools, then it should work on most modern *nix systems.
> This script is not available in 1.4.27.
Erik and I have been discussing this on IRC today,
Later this today he will test the lsmb-install.sh script himself so we
can fix anything that I've missed.
Once that's done we'll look to backport it into the 1.4 tree (the
changes will be minimal, mainly just dropping a couple of unneeded packages)
In the meantime, you could download just that file from github as it
should mainly work for 1.4.
We will post a reply on this thread once that has been confirmed though.
> By the way: tools/ and utils/ ?
> Are tools utils or utils tools? This is rather confusing.
In the master (or 1.5) branch, the utils dir is where most tools and
scripts will be found.
The tools dir contains some legacy scripts and a couple of scripts that
are currently essential for operation of LedgerSMB.
The essential scripts will likely move to other dir's while the legacy
scripts will eventually be removed as any remaining use for them is
>> I will be merging a new version of the install script hopefully this weekend, it fixes a couple of
>> minor issues and adds some improvements.
>> If you use it please let me know, or better yet drop in on IRC via
>> https://vector.im/#/room/#ledgersmb:matrix.org and chat with me so I can point you at the fix I've
>> done (affects creation of the database admin user)
>> I'm normally known as dcg_mx on IRC although I will sometimes show as M-dcg
>>> Would that be an acceptable alternative, in your opinion?
>>> Then I stumbled over the section "Initializing a company database".
>>> First I tried setting up a database using "setup.pl" via the browser,
>>> but failed since I missed the trick of specifying a non-existant
>>> company name.
>>> * For all stupid users like me, it might be a good idea to add a
>>> menu button "create new company database" in setup.pl
>>> Excellent. I've implemented this both for master/1.5 and 1.4 today. Since 1.4 changes are frozen
>>> for the 1.4.28 release, your proposal will be part of 1.4.29 -- in roughly 2 weeks.
>>> Peeking in the actual INSTALL.md on github learned that above issue
>>> has been addressed: a paragraph was added to demystify this.
>>> * Please backport this paragraph to the 1.4.27 INSTALL file
>>> I'll do that before the 1.4.28 release, but the paragraph might need to be adjusted because we
>>> have the "Create" button now?
>>> Since setup.pl failed I tried to create the company database using
>>> the "prepare-company-database.sh" script.
>>> Ok. I'm correct to understand that *if* you had known about the trick of filling out a
>>> non-existing database, you wouldn't have gone down this route and setup.pl <http://setup.pl> would
> (Funny Google html mail: <http://setup.pl>)
>>> not have failed, or is setup.pl <http://setup.pl> still failing even though you now know about the
>>> non-existing database trick?
> You're right! After I watched the video on ledgersmb.org I managed to setup a DB suitable for login.
>>> No luck!
>>> It emerged this script has several bugs:
>>> 209: su -c ""
>>> The su lacks the argument of the Linux user "postgres".
>>> This causes the script to fail: "Peer Authentication failed"
>>> 254: if ! test "x$pgsql_contrib_dir" = "xignored"
>>> Typo. Should be: if ! test "x$pgsql_contrib_dir" = "xignore"
>>> 288: person__save(NULL,
>>> pgsql function "person__save" fails because in LSMB 1.4 two new args
>>> were added to this function.
>>> As a result no "admin" user is created, rendering the DB unusable
>>> for login.
>>> In commit 7d09fc9d (2015-11-21 Erik Huelsmann) the script
>>> "prepare-company-database.sh" has been dropped completely.
>>> * INSTALL.md still refers to the non-existing script
>>> Ok. Given the bugs you list and the fact that the script is gone from master/1.5, I'd say we
>>> should remove the script from 1.4.29+ as well. Changing the documentation should happen on
>>> master/1.5 as well as 1.4 and can probably be done before 1.4.28. I'll get it done before the
>>> It seems the shell script "prepare-company-database.sh" has been
>>> replaced by it Perl variant "prepare-company-database.pl".
>>> So I gave that script a try.
>>> Right. Well, actually that script was implemented along-side of prepare-company-database.sh and is
>>> distributed in 1.4 as well as master/1.5. There's no problem to delete the .sh script in 1.4, but
>>> regardless, it seems from your experience below that the script needs to be tested and fixed too.
>>> But alas, the A's were not in my cards:
>>> # ./tools/prepare-company-database.pl --company tuxtest2
>>> --coa /usr/share/ledgersmb/sql/coa/be/chart/G
>>> eneral.sql --password LSMB
>>> DBI connect('dbname=tuxtest2','',...) failed: fe_sendauth: no password supplied at
>>> pany-database.pl line 159.
>>> Can't call method "prepare" on an undefined value at ./tools/prepare-company-database.pl
>>> line 164.
>>> I stopped hacking here.
>>> Right. Understandably. Thanks again for reporting your problems. I hope the documentation
>>> improvements in 1.4.28 and the "Create" button in 1.4.29 take us a good step toward being
>>> Please report any future problems either here or in the GitHub issue tracker!
>>> http://efficito.com <http://efficito.com/> -- Hosted accounting and ERP.
>>> Robust and Flexible. No vendor lock-in.
>> David G
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
Ledger-smb-users mailing list