On Fri, Jun 08, 2018 at 06:37:47PM +0200, Kamil Rytarowski wrote:
> On 08.06.2018 17:04, Patrick Welche wrote:
> > According to
> > http://en.cppreference.com/w/cpp/compiler_support
> > string_view is supported by gcc 7 and clang 4.0. As in NetBSD-current
> > base we have gcc 6.4.0 and clang 5.0.1, I thought I would try it out:
> > $ clang -std=c++17 -o foo foo.cpp
> > foo.cpp:3:10: fatal error: 'string_view' file not found
> > #include <string_view>
> > ^~~~~~~~~~~~~
> > 1 error generated.
> > Is the page over optimistic, or do I need more flags on my compile line?
> > (Guessing that /usr/include has the gcc include files...)
> We ship with an old version of libc++ in base.
> If you are using a LLVM style Please try to include it with
> I'm working right now on getting HEAD libc++ to work on NetBSD.
In the meantime, to try things out, I installed pkgsrc/lang/gcc8 and see:
rm -f .gdbinit
# compile ts/net.o
c++ -O2 -fPIE -Werror -std=c++14 -fPIC
-I/usr/src/local/networking-ts-impl/include -c net.cpp
# link ts/net
c++ -lpthread -pie -shared-libgcc -o net net.o -Wl,-rpath-link,/lib
/usr/bin/ld: /usr/pkg/gcc8/lib/gcc/x86_64--netbsd/8.1.0/crtbegin.o: relocation
R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a
/usr/bin/ld: /usr/pkg/gcc8/lib/gcc/x86_64--netbsd/8.1.0/crtend.o: relocation
R_X86_64_32 against `.ctors' can not be used when making a shared object;
recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
I randomly added a -fPIC as the message suggests, so used the following
Makefile for the above:
$ cat Makefile