Subject: pkg/37246: archivers/pax fails to build on linux
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Yakovetsky Vladimir <yx@x.ua>
List: pkgsrc-bugs
Date: 10/29/2007 14:05:00
>Number: 37246
>Category: pkg
>Synopsis: archivers/pax (and bootstrap too) fails to build on linux
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Oct 29 14:05:00 +0000 2007
>Originator: Yakovetsky Vladimir
>Release:
>Environment:
System: Linux bres 2.6.21.5 #1 SMP Fri Jul 6 09:48:19 GMT 2007 i686 GNU/Linux
>Description:
archivers/pax (and bootstrap too) fails to build on linux
beacuse of fts.h is incompatible with _FILE_OFFSET_BITS 64.
>How-To-Repeat:
% uname -s
Linux
% cd /usr/pkgsrc/bootstrap && ./bootstrap
...
gcc -DHAVE_CONFIG_H -DHAVE_NBCOMPAT_H=1 -I/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pax/work/libnbcompat -I. -I. -O2 -c ftree.c
In file included from ftree.c:110:
/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
*** Error code 1
Stop.
>Fix:
Workaround:
--- /usr/pkgsrc/archivers/pax/Makefile.common.orig
+++ /usr/pkgsrc/archivers/pax/Makefile.common
@@ -26,3 +26,12 @@
do-extract:
${CP} -R ${FILESDIR} ${WRKSRC}
+
+.if ${LOWER_OPSYS} == "linux"
+# XXX: configure should fix the brokenness instead?
+SUBST_CLASSES+= fix-off64
+SUBST_STAGE.fix-off64= post-configure
+SUBST_FILES.fix-off64= config.h
+SUBST_SED.fix-off64= -e 's,^\#define _FILE_OFFSET_BITS 64,/* \#undef _FILE_OFFSET_BITS */,'
+.endif
+