[Pkg-octave-devel] Building octave from git clone fails

Mike Miller mtmiller at debian.org
Sat Jan 23 19:06:33 UTC 2016


On Sat, Jan 23, 2016 at 19:04:46 +0100, Rafael Laboissiere wrote:
> * Rafael Laboissiere <rafael at laboissiere.net> [2016-01-23 17:23]:
> 
> >It is strange, because gperf would be needed only if octave.gperf is more
> >recent than oct-gperf.h.  Now, we have:
> >
> >  gbp clone git://git.debian.org/git/pkg-octave/octave.git
> >  cd octave
> >  $ stat libinterp/parse-tree/*gperf* | grep '\(File\|Change\):'
> >    File: ‘libinterp/parse-tree/octave.gperf’
> >  Change: 2016-01-23 14:19:02.862901791 -0200
> >    File: ‘libinterp/parse-tree/oct-gperf.h’
> >  Change: 2016-01-23 14:19:02.858901820 -0200
> 
> I have overseen the time stamps above.  Actually, after a git clone,
> oct-gperf.h is older than octave.gperf.  This triggers the building of the
> former and, hence, make the package build fails, because gperf is not
> installed.
> 
> Touching the target file seems to fix the problem:
> 
>    touch libinterp/parse-tree/oct-gperf.h
> 
> I am considering adding this to d/rules.  Any objections?

Why not go the other way and touch the .gperf file and add build-deps on
gperf, and bison and flex while we're at it? See also #798427.

In general, Debian likes to build everything from original source files.
Bison, flex, and gperf files are generated and packed with the source,
but are not the preferred form of modification.

I know this adds a risk of modifying a source file so there's no going
back to a clean state (other than git checkout).

-- 
mike



More information about the Pkg-octave-devel mailing list