test-version without make install (was [Gnucash-changes] r12334)

Chris Shoemaker c.shoemaker at cox.net
Fri Jan 13 12:05:55 EST 2006


On Fri, Jan 13, 2006 at 02:03:58PM +0000, Neil Williams wrote:
> On Friday 13 January 2006 5:36 am, Derek Atkins wrote:
> > Quoting Chris Shoemaker <c.shoemaker at cox.net>:
> > > BTW, gnucash now successfully completes `make dist' and `make check'.
> > > And it configures, builds and *runs* from a tarball.  Some of the
> > > tests still fail, but at least they run to completion.
> >
> > wait -- how can make check complete if some of the tests still fail?
> 
> I've wondered about this too - I can't get make distcheck to complete and make 
> check halts at src/bin/test.
> 
> I can't get src/bin/test to work without first running make install.
> 
> /opt/svn/gnucash/src/bin/test/../gnucash: line 29: exec: gnucash-bin: not 
> found

Good catch.  That's a problem.  That test should really only work if
gnucash can run from the build tree.  AFAIK, gnucash hasn't been able
to run from the build tree since as long as I've been around.  But
IMO, it would be a very valuable improvement to fix this.  A 'make
install' from a completely built tree still takes me several minutes,
and it's something I do pretty often.  I would love to be able to skip
that step for testing.

This is not trivial, though, because of the scheme module code.  The
thing is, I don't think you can even fix this with environment
variables.  I think the scheme code depends on finding other scheme
modules in paths that only correspond to the installed directory
structure, not the build tree.

I'll look into this a bit more since I do want `make check' to work
without an install.

> The advice in HACKING also seems to no longer work:
> (does this require a make install as well?)
> 
> Starting Gnucash from the build tree:
> -------------------------------------
> 
> To run gnucash from your build tree:
> -- edit ./src/bin/overrides/gnucash and replace gnucash-env with
>    ./src/bin/overrides/gnucash-build-env
> -- then start gnucash by saying ./src/bin/overrides/gnucash
> -- Make sure you undo this change before installing gnucash
> 

I tried this once long ago and gave up.

> Changing test-version to:
> PATH="../:../overrides/:${PATH}"
> export PATH
> 
> exec gnucash --version
> 
> only gives:
> <unnamed port>: In procedure scm-error in expression (scm-error (quote 
> misc-error) #f ...):
> <unnamed port>: no code for module (g-wrapped gw-core-utils)

Yeah.  That's _exactly_ what I mean.  Guile is looking for a directory
'g-wrapped', which it won't find in the build tree.  I'm going to have
to think about this one.

-chris


More information about the gnucash-devel mailing list