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

Re: error: 'char16_t' does not name a type; did you mean 'wchar_t'? (Was: Bug#899129: prime-phylo: FTBFS: cd obj-x86_64-linux-gnu && make -j8 -Oline returned exit code 2)



On Sun, May 20, 2018 at 12:20:05PM +0500, Andrey Rahmatullin wrote:
> On Sun, May 20, 2018 at 09:05:48AM +0200, Andreas Tille wrote:
> > cd /build/prime-phylo-1.0.11/obj-x86_64-linux-gnu/src/cxx/libraries/prime && /usr/bin/c++  -DONLY_ONE_TIMESAMPLE -DPERTURBED_NODE -Dprime_phylo_EXPORTS -I/build/prime-phylo-1.0.11/obj-x86_64-linux-gnu/src/cxx/libraries/prime -I/build/prime-phylo-1.0.11/src/cxx/libraries/prime -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/  lib/x86_64-linux-gnu/openmpi/include/ompi/mpi/cxx -I/usr/include/libxml2 -I/build/prime-phylo-1.0.11/src/cxx/libraries -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx -I/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx  -g -O2 -fdebug-prefix-map=/build/prime-phylo-1.0.11=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -    Wreorder -Wall -fexceptions -g -fPIC   -std=gnu++98 -o CMakeFiles/prime-phylo.dir/TreeInputOutput.cc.o -c /build/prime-phylo-1.0.11/src/cxx/libraries/prime/TreeInputOutput.cc
> 
> > /usr/include/unicode/umachine.h:347:13: error: 'char16_t' does not name a type; did you mean 'wchar_t'?
> ICU since 59 requires C++11 while your software uses -std=gnu++98.

Otherwise you can just define it. See e.g.

https://cgit.freedesktop.org/libreoffice/core/diff/configure.ac?id=fabad007c60958f2ff87e8f636ff6a798ad1f963

+if test "$ICU_MAJOR" -ge "59"; then
+    # As of ICU 59 it defaults to typedef char16_t UChar; which is
available
+    # with -std=c++11 but not all external libraries can be built with
that,
+    # for those use a bit-compatible typedef uint16_t UChar; see
+    # icu/source/common/unicode/umachine.h
+    ICU_UCHAR_TYPE="-DUCHAR_TYPE=uint16_t"
+else
+    ICU_UCHAR_TYPE=""
+fi

(but yes, projects using -std=c++11 don't need it.)

Regards,

Rene


Reply to: