Hi Steven, 'install-reloc' indeed does nothing special in the case of FreeDink+Linux, but it is run as part of the gnulib infrastructure.
(I see you understand the relocatable-prog module quite well, but I post this link for other people to understand how it works:) http://www.gnu.org/software/gnulib/manual/html_node/Supporting-Relocation.html#Supporting-Relocation In the general case I guess that all systems using ELF and supporting rpath can skip the wrapper as well, but let's hear from the gnulib developers first :) I suppose the patch requires a re-bootstrap? Cheers! Sylvain On Tue, May 01, 2012 at 08:52:25PM +0100, Steven Chamberlain wrote: > retitle 671044 freedink: FTBFS[!linux]: too many args to install-reloc > tags 671044 + patch > thanks > > Hi Sylvain, > > On 01/05/12 15:56, Sylvain wrote: > > It seems that there's an issue with install-reloc: > > Yes there is, but what is its purpose anyway? For Linux builds it is > not used so maybe it shouldn't be used either on kFreeBSD or Hurd? > > With the attached patch it builds just fine on kfreebsd-i386 and I think > the change would also help fix this on hurd-*. > > Also attached is the output of 'objdump -p' for the two binaries; I > don't see an RPATH or anything that would make them not be relocatable > AFAIK. > > Regards, > -- > Steven Chamberlain > ste...@pyro.eu.org > Description: use_elf_origin_trick on non-Linux arches > Avoids (wrongly?) using install-reloc on GNU/kFreeBSD and GNU/Hurd. > Author: Steven Chamberlain <ste...@pyro.eu.org> > Bug-Debian: http://bugs.debian.org/671044 > > --- freedink-1.08.20120427.orig/gnulib/m4/relocatable.m4 2012-04-27 > 12:48:56.000000000 +0100 > +++ freedink-1.08.20120427/gnulib/m4/relocatable.m4 2012-05-01 > 20:41:06.411344551 +0100 > @@ -41,7 +41,7 @@ > AC_CHECK_FUNCS([_NSGetExecutablePath]) > case "$host_os" in > mingw*) is_noop=yes ;; > - linux*) use_elf_origin_trick=yes ;; > + linux*|gnu*|k*bsd*-gnu) use_elf_origin_trick=yes ;; > esac > if test $is_noop = yes; then > RELOCATABLE_LDFLAGS=: > > freedink: file format elf32-i386-freebsd > > Program Header: > PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2 > filesz 0x00000100 memsz 0x00000100 flags r-x > INTERP off 0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0 > filesz 0x0000000d memsz 0x0000000d flags r-- > LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 > filesz 0x00041a68 memsz 0x00041a68 flags r-x > LOAD off 0x00042000 vaddr 0x0808a000 paddr 0x0808a000 align 2**12 > filesz 0x0000073c memsz 0x00391004 flags rw- > DYNAMIC off 0x0004200c vaddr 0x0808a00c paddr 0x0808a00c align 2**2 > filesz 0x00000128 memsz 0x00000128 flags rw- > NOTE off 0x00000144 vaddr 0x08048144 paddr 0x08048144 align 2**2 > filesz 0x00000044 memsz 0x00000044 flags r-- > EH_FRAME off 0x00039eec vaddr 0x08081eec paddr 0x08081eec align 2**2 > filesz 0x00001444 memsz 0x00001444 flags r-- > STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 > filesz 0x00000000 memsz 0x00000000 flags rw- > > Dynamic Section: > NEEDED libSDL_mixer-1.2.so.0 > NEEDED libSDL_image-1.2.so.0 > NEEDED libSDL_ttf-2.0.so.0 > NEEDED libSDL_gfx.so.13 > NEEDED libSDL-1.2.so.0 > NEEDED libfontconfig.so.1 > NEEDED libm.so.1 > NEEDED libc.so.0.1 > INIT 0x0804a99c > FINI 0x0807bb9c > INIT_ARRAY 0x0808a000 > INIT_ARRAYSZ 0x00000004 > FINI_ARRAY 0x0808a004 > FINI_ARRAYSZ 0x00000004 > HASH 0x08048188 > GNU_HASH 0x08048808 > STRTAB 0x080495f8 > SYMTAB 0x08048868 > STRSZ 0x00000b2f > SYMENT 0x00000010 > DEBUG 0x00000000 > PLTGOT 0x0808a13c > PLTRELSZ 0x00000658 > PLTREL 0x00000011 > JMPREL 0x0804a344 > REL 0x0804a31c > RELSZ 0x00000028 > RELENT 0x00000008 > VERNEED 0x0804a2dc > VERNEEDNUM 0x00000002 > VERSYM 0x0804a128 > > Version References: > required from libm.so.1: > 0x0d696913 0x00 03 GLIBC_2.3 > required from libc.so.0.1: > 0x0d696913 0x00 02 GLIBC_2.3 > > > freedinkedit: file format elf32-i386-freebsd > > Program Header: > PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2 > filesz 0x00000100 memsz 0x00000100 flags r-x > INTERP off 0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0 > filesz 0x0000000d memsz 0x0000000d flags r-- > LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 > filesz 0x000411bc memsz 0x000411bc flags r-x > LOAD off 0x000411bc vaddr 0x0808a1bc paddr 0x0808a1bc align 2**12 > filesz 0x00000768 memsz 0x00393754 flags rw- > DYNAMIC off 0x000411c8 vaddr 0x0808a1c8 paddr 0x0808a1c8 align 2**2 > filesz 0x00000128 memsz 0x00000128 flags rw- > NOTE off 0x00000144 vaddr 0x08048144 paddr 0x08048144 align 2**2 > filesz 0x00000044 memsz 0x00000044 flags r-- > EH_FRAME off 0x00039d8c vaddr 0x08081d8c paddr 0x08081d8c align 2**2 > filesz 0x00001354 memsz 0x00001354 flags r-- > STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 > filesz 0x00000000 memsz 0x00000000 flags rw- > > Dynamic Section: > NEEDED libSDL_mixer-1.2.so.0 > NEEDED libSDL_image-1.2.so.0 > NEEDED libSDL_ttf-2.0.so.0 > NEEDED libSDL_gfx.so.13 > NEEDED libSDL-1.2.so.0 > NEEDED libfontconfig.so.1 > NEEDED libm.so.1 > NEEDED libc.so.0.1 > INIT 0x0804a9ac > FINI 0x0807a7fc > INIT_ARRAY 0x0808a1bc > INIT_ARRAYSZ 0x00000004 > FINI_ARRAY 0x0808a1c0 > FINI_ARRAYSZ 0x00000004 > HASH 0x08048188 > GNU_HASH 0x08048808 > STRTAB 0x080495f4 > SYMTAB 0x08048864 > STRSZ 0x00000b3d > SYMENT 0x00000010 > DEBUG 0x00000000 > PLTGOT 0x0808a2f8 > PLTRELSZ 0x00000660 > PLTREL 0x00000011 > JMPREL 0x0804a34c > REL 0x0804a324 > RELSZ 0x00000028 > RELENT 0x00000008 > VERNEED 0x0804a2e4 > VERNEEDNUM 0x00000002 > VERSYM 0x0804a132 > > Version References: > required from libm.so.1: > 0x0d696913 0x00 03 GLIBC_2.3 > required from libc.so.0.1: > 0x0d696913 0x00 02 GLIBC_2.3 >