[Debian-med-packaging] Bug#770079: ltrsift: FTBFS on arm64

Edmund Grimley Evans edmund.grimley.evans at gmail.com
Tue Nov 18 18:19:29 UTC 2014


Source: ltrsift
Version: 1.0.2-1

It failed to build on arm64:

http://buildd.debian.org/status/package.php?p=ltrsift&suite=sid

The error was:

[compile obj/src/preprocess_visitor.o]
cc: error: unrecognized command line option '-m64'
cc: error: unrecognized command line option '-m64'
make[2]: *** [obj/src/script_filter_stream.o] Error 1

The relevant logic in the Makefile looks like this:

# system specific stuff (concerning 64bit compilation)
MACHINE:=$(shell uname -m)
ifeq ($(64bit),yes)
  ifneq ($(MACHINE),x86_64)
    m64=yes
  endif
  BIT:=64bit
else
  ifeq ($(MACHINE),x86_64)
    m32=yes
  endif
  BIT:=32bit
endif

The option "64bit" is being set to "yes" by some logic in
debian/rules.

The right fix for upstream would probably be to replace

  ifneq ($(MACHINE),x86_64)

with something like:

  ifneq ($(filter $(MACHINE), i386 i486 i586 i686 x86 ),)

That would perhaps allow them to build a 64-bit binary on a 32-bit
Intel machine by specifying "64bit=yes" as an argument to "make".

To fix this for Debian you could probably just delete the stuff in
debian/rules that sets "64bit". Typically you're using a compiler that
has the right default anyway, even when you're cross-compiling, and
BIT is only used for setting GTDISTBASENAME, which is only used by
upstream, I would guess.



More information about the Debian-med-packaging mailing list