Package: zero-icee-translators
Severity: important
Tags: patch
Hi,
currently your package FTBFS on GNU/kFreeBSD with the following error:
> make OPTIMIZE=yes LDPLATFORMFLAGS=
> make[1]: Entering directory `/build/buildd/zeroc-icee-translators-1.1.0'
> config/Make.rules:166: config/Make.rules.GNU/kFreeBSD: No such file or
> directory
> config/Make.rules:268: *** You need to define mkshlib in
> Make.rules.GNU/kFreeBSD. Stop.
> make[1]: Leaving directory `/build/buildd/zeroc-icee-translators-1.1.0'
> make: *** [debian/stamp-makefile-build] Error 2
Full build logs are available at
<http://experimental.ftbfs.de/build.php?arch=kfreebsd-i386&pkg=zeroc-icee-translators>.
There are two options:
- either you change the 'tr' call in my patch to something like a call
to sed to replace 'GNU/kFreeBSD' by 'Linux';
- or you copy (or symlink) config/Make.rules.Linux to
config/Make.rules.GNU_kFreeBSD (no change is needed right now, they
share the same userland).
After having done this, I get some errors when compiling, that's the
reason for the second hunk of my patch. If I don't do this, I get:
> cc -c -I../../include -O2 -I. -DPREFIX=\"\" prefix.c
> In file included from prefix.c:80:
> /usr/include/string.h:292: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:292: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:292: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:293: error: conflicting types for 'memcpy'
> /usr/include/string.h:296: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:296: error: expected declaration specifiers or '...'
> before numeric constant
> /usr/include/string.h:296: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:296: error: conflicting types for 'memset'
> /usr/include/string.h:299: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:299: error: expected declaration specifiers or '...'
> before '(' token
> /usr/include/string.h:299: error: expected declaration specifiers or '...'
> before '(' token
> make: *** [prefix.o] Error 1
I'm not sure this is the right thing to do but at least the package
builds fine, the Linux builds don't break, so I guess that the patch
could get applied.
Cheers,
--
Cyril Brulebois
--- zeroc-icee-translators-1.1.0/config/Make.rules 2006-03-09 14:53:28.000000000 +0100
+++ zeroc-icee-translators-1.1.0/config/Make.rules 2007-03-10 02:56:05.000000000 +0100
@@ -158,7 +158,7 @@
INSTALL_LIBRARY = ${INSTALL}
INSTALL_DATA = ${INSTALL}
-UNAME := $(shell uname)
+UNAME := $(shell uname | tr '/' '_')
#
# Platform specific definitions
--- zeroc-icee-translators-1.1.0/src/icecpp/prefix.c 2007-03-10 02:56:13.007378000 +0100
+++ zeroc-icee-translators-1.1.0/src/icecpp/prefix.c 2007-03-10 02:56:33.000000000 +0100
@@ -72,7 +72,9 @@
#endif
#include <stdlib.h>
+#if !defined(__FreeBSD_kernel__)
#include <string.h>
+#endif
#ifdef _WIN32
#include <windows.h>