On 30.04.2018 16:04, Patrick Welche wrote: > On Mon, Apr 30, 2018 at 03:58:01PM +0200, Adam wrote: >>> Before lunch, my code compiled. I ran a pkg_rolling-replace over >>> lunch, which updated boost to 1.57.0(nb1 for headers). Now the same >>> file, no changes, fails to compile with: >>> >>> In file included from /usr/pkg/include/boost/asio.hpp:20: >>> In file included from /usr/pkg/include/boost/asio/associated_allocator.hpp:18: >>> In file included from /usr/pkg/include/boost/asio/detail/config.hpp:26: >>> In file included from /usr/pkg/include/boost/config.hpp:61: >>> /usr/pkg/include/boost/config/detail/suffix.hpp:510:26: error: __float128 is not >>> supported on this target >>> __extension__ typedef __float128 float128_type; >>> ^ >>> >>> ?! >>> >>> Cheers, >>> >>> Patrick >> >> Platform, compiler, version, please. > > NetBSD-8.99.14/amd64, which uses base gcc by default, but for this > particular project: > > HAVE_LLVM=yes > CLANGBASE=/usr > PROG_CXX=asio > MKMAN=no > CPPFLAGS+=-I/usr/pkg/include > CXXFLAGS+=-std=c++14 > LDFLAGS+=-L/usr/pkg/lib -Wl,-R/usr/pkg/lib > LDADD+=-lboost_system > .include <bsd.prog.mk> > > $ clang --version > clang version 5.0.1 (branches/release_50 r319952) > Target: x86_64--netbsd > Thread model: posix > InstalledDir: /usr/bin > > Given your clue, if I comment out the first 2 lines, i.e., use gcc, the > compilation succeeds. I also see that I'm asking for trouble: something > is insisting on -lboost_system, so I will be linking a library built > by gcc to object files built by clang. The parts I am using are meant to > be "headers only". Thing is - this worked before lunch! > > Cheers, > > Patrick > Clang/NetBSD for i386/amd64 with libgcc does not support float128. You need to either: disable it in libstdc++ headers for Clang or enable float128 support in Clang. Joerg knows more details how to do it correctly.
Attachment:
signature.asc
Description: OpenPGP digital signature