[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: