Bug#729262: FTBFS[kfreebsd-amd64]: wrongly sets LP64=no
Package: zeroc-ice
Version: 3.5.0-3
Severity: serious
Tags: patch
Justification: FTBFS
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
Hi,
zeroc-ice FTBFS on kfreebsd-amd64 because of forcing LP64=no; this
will try to build with -m32, but the libc0.1-dev dependency only
provides headers for 64-bit:
> make[4]: Entering directory `/«PKGBUILDDIR»/cpp/src/IceUtil'
> g++ -c -D_FORTIFY_SOURCE=2 -std=c++0x -I./include -std=c++0x -I../include -std=c++0x -I../../include -DICE_UTIL_API_EXPORTS -I.. -m32 -Wall -Werror -D_REENTRANT -fPIC -g ArgVector.cpp
> In file included from <command-line>:0:0:
> /usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory
This can be trivially avoided in debian/rules by looking at
DEB_BUILD_ARCH_CPU instead of DEB_BUILD_ARCH. On kfreebsd-amd64,
the value is "amd64", so it is then built the same way as on
Linux. This patch fixes FTBFS for me on kfreebsd-amd64:
--- debian/rules.orig 2013-07-30 22:13:33.000000000 +0100
+++ debian/rules 2013-11-10 21:17:52.064898392 +0000
@@ -29,10 +29,10 @@
# targets known to work
LP64=no
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH ), i386)
+ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU ), i386)
OPTIMIZE=yes
endif
-ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH ), amd64)
+ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU ), amd64)
OPTIMIZE=yes
LP64=yes
endif
Thanks!
-- System Information:
Debian Release: 7.1
APT prefers proposed-updates
APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 9.0-2-amd64-xenhvm
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Reply to: