2017-01-12 10 views
0

Я пытаюсь скомпилировать программу с clang++ и libc++ на NetBSD. Версия Clang - 3.9.0, а версия NetBSD - 7.0.2. Компилируемая неудача с:Clang и -std = libC++ на NetBSD?

$ make 
clang++ -D_NETBSD_SOURCE -m64 -pthread -stdlib=libc++ -fPIC -fvisibility=hidden \ 
    -std=c++11 -D_REENTRANT -O3 -Wall -Ibuild/include -c ./src/lib/asn1/alg_id.cpp \ 
    -o build/obj/lib/asn1_alg_id.o 
In file included from ./src/lib/asn1/alg_id.cpp:8: 
In file included from build/include/botan/alg_id.h:11: 
In file included from build/include/botan/asn1_obj.h:11: 
In file included from build/include/botan/secmem.h:11: 
In file included from build/include/botan/mem_ops.h:11: 
build/include/botan/types.h:14:10: fatal error: 'cstddef' file not found 
#include <cstddef> 
     ^
1 error generated. 
*** Error code 1 

<cstddef> присутствует, но это, кажется, ССЗ:

$ find /usr -name cstddef 
/usr/include/g++/cstddef 

Если я правильно разборе Index of pub/NetBSD/NetBSD-release-7/src/external/bsd/libc++, библиотека доступна. При попытке установить libc++ или libcxx:

bash-4.4$ sudo PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All/" pkg_add libcxx 
pkg_add: no pkg found for 'libcxx', sorry. 
pkg_add: 1 package addition failed 
bash-4.4$ sudo PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All/" pkg_add libc++ 
pkg_add: no pkg found for 'libc++', sorry. 
pkg_add: 1 package addition failed 

Является Clang с LIBC++ поддерживается конфигурация на NetBSD? Как мы используем Clang и libC++ в NetBSD?

ответ

1

LibC++ поддерживается на NetBSD (хотя он не тестируется регулярно). К сожалению, я не уверен, какой пакет он предоставляет (если есть).

Один из вариантов может быть build and install libc++ from source. Сначала Clang будет искать свой собственный префикс для заголовков libC++ и /usr/local/include/c++/v1, поэтому вы захотите установить libC++ в одном из этих двух мест (например, -DCMAKE_INSTALL_PREFIX=/usr/local).