Bug#671044: install-reloc is invoked with too many arguments

Sylvain beuc at gnu.org
Wed May 2 10:43:48 UTC 2012


Hi Bruno,

On Wed, May 02, 2012 at 03:43:00AM +0200, Bruno Haible wrote:
> Hi Sylvain,
> 
> > I received the bug report below when compiling GNU FreeDink on
> > Debian/kFreeBSD and Debian/Hurd.
> > 
> > It seems that there's an issue with install-reloc:
> > https://buildd.debian.org/status/fetch.php?pkg=freedink&arch=kfreebsd-amd64&ver=1.08.20120427-1&stamp=1335561117
> > https://buildd.debian.org/status/fetch.php?pkg=freedink&arch=hurd-i386&ver=1.08.20120427-1&stamp=1335555752
> > 
> >   RELOC_LIBRARY_PATH_VAR=LD_LIBRARY_PATH RELOC_LIBRARY_PATH_VALUE= RELOC_PREFIX=/usr RELOC_DESTDIR=/build/buildd-freedink_1.08.20120427-1-kfreebsd-amd64-I0HlF8/freedink-1.08.20120427/debian/freedink-engine RELOC_COMPILE_COMMAND=gcc -g -O2 -Wall -std=c99 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  RELOC_SRCDIR=../gnulib/lib RELOC_BUILDDIR=../gnulib/lib RELOC_CONFIG_H_DIR=.. RELOC_EXEEXT= RELOC_STRIP_PROG=: RELOC_INSTALL_PROG=/usr/bin/install -c ../autotools/install-reloc freedink freedinkedit '/build/buildd-freedink_1.08.20120427-1-kfreebsd-amd64-I0HlF8/freedink-1.08.20120427/debian/freedink-engine/usr/games'
> >   Usage: ../autotools/install-reloc library_path_var library_path_value prefix destdir compile_command srcdir builddir config_h_dir exeext strip_command install_command... destprog
> > 
> > AFAICS 'install-reloc', when run with environment variables, expects
> > exactly:
> > - 1 executable
> > - 1 destprog dir
> > 
> > In this case, the relocatable-prog macros invokes install-reloc with:
> > - 2 executables (freedink, freedinkedit)
> > - 1 destprog dir
> 
> Indeed, when invoked with RELOC_* environment variables, 'install-reloc'
> was meant to install one program only. This was how it was meant to be
> invoked from Automake. But this changed in Automake on 2008-09-07, see
> http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=4295fe33eb23fb9440ee6a7404ec064067266372
> 
> Can you please try this modified 'install-reloc' program instead?
> Save it and do a "chmod +x install-reloc" before you can use it.
> Does it help on hurd-i386 (or on kFreeBSD as well, without the other patch)?

Thanks for the prompt fix :)

The new install-reloc works correctly on GNU/kFreeBSD :

  test -z "/usr/games" || /bin/mkdir -p "/usr/src/freedink-1.08.20120427/debian/freedink-engine/usr/games"
   RELOC_LIBRARY_PATH_VAR=LD_LIBRARY_PATH RELOC_LIBRARY_PATH_VALUE= RELOC_PREFIX=/usr RELOC_DESTDIR=/usr/src/freedink-1.08.20120427/debian/freedink-engine RELOC_COMPILE_COMMAND=gcc -g -O2 -Wall -std=c99 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  RELOC_SRCDIR=../gnulib/lib RELOC_BUILDDIR=../gnulib/lib RELOC_CONFIG_H_DIR=.. RELOC_EXEEXT= RELOC_STRIP_PROG=: RELOC_INSTALL_PROG=/usr/bin/install -c ../autotools/install-reloc freedink freedinkedit '/usr/src/freedink-1.08.20120427/debian/freedink-engine/usr/games'
  /usr/bin/install -c freedink freedinkedit /usr/src/freedink-1.08.20120427/debian/freedink-engine/usr/games

Note, though, that FreeDink does not have its own libraries, to
install-reloc is just invoking 'install'.  This didn't test the path
where install-reloc installs the wrapper.

I'll try on Debian/Hurd when I have the environment ready.

Cheers!
Sylvain





More information about the Pkg-games-devel mailing list