[pkg-firebird-general] Bug#879972: firebird3.0: FTBFS with icu59, simple workaround/patch attached
Adam Conrad
adconrad at debian.org
Fri Oct 27 19:03:11 UTC 2017
Package: firebird3.0
Version: 3.0.2.32703.ds4-11
Severity: important
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu bionic ubuntu-patch
In Ubuntu, the attached patch was applied to achieve the following:
* Define UCHAR_TYPE=uint16_t to avoid C++11 and fix FTBFS with icu59.
So, here's what's happening. In icu59, UChar is defined as char16_t if
you're compiling a C++ project (ie: ifdef __cplusplus), but char16_t is
a C++11 type. One could argue this is an ICU bug for forcing rdeps to
conform to a newer C++ standard (and one could even win that argument,
I imagine), but I figured working around it in firebird was the path of
least resistance.
My first attempt was to change the firebird build from std=gnu++98 to
std=gnu++11. Don't do that. I mean, try if you want, but it does not
end well.
This patch just tells icu to use the same type for UChar that it used to
and it seems to do the trick here. So, enjoy.
... Adam
-- System Information:
Debian Release: buster/sid
APT prefers bionic
APT policy: (500, 'bionic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.13.0-16-lowlatency (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
diff -Nru firebird3.0-3.0.2.32703.ds4/debian/rules firebird3.0-3.0.2.32703.ds4/debian/rules
--- firebird3.0-3.0.2.32703.ds4/debian/rules 2017-09-07 01:35:34.000000000 -0600
+++ firebird3.0-3.0.2.32703.ds4/debian/rules 2017-10-27 12:39:22.000000000 -0600
@@ -65,7 +65,7 @@
RUN := /run/firebird${FB_VER}
export DEB_BUILD_MAINT_OPTIONS := hardening=+bindnow
-export DEB_CXXFLAGS_MAINT_APPEND := -std=gnu++98 -fno-lifetime-dse -fno-delete-null-pointer-checks -fno-strict-aliasing
+export DEB_CXXFLAGS_MAINT_APPEND := -std=gnu++98 -DUCHAR_TYPE=uint16_t -fno-lifetime-dse -fno-delete-null-pointer-checks -fno-strict-aliasing
export DEB_CFLAGS_MAINT_APPEND := -fno-strict-aliasing
DPKG_EXPORT_BUILDFLAGS := 1
More information about the pkg-firebird-general
mailing list