[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