12-12-2018 08:22 AM
Hello, I was trying to install ydk-cpp on my mac(OS 10.14.2) and got a problem. I had already installed Pcre by brew install pcre but it reports fatal error: 'pcre.h' file not found. I have followed all the steps successfully on https://github.com/CiscoDevNet/ydk-cpp until Building YDK. Can anyone help me?
Here is the record:
MBPE:~ eric$ git clone https://github.com/CiscoDevNet/ydk-cpp.git
Cloning into 'ydk-cpp'...
remote: Enumerating objects: 325, done.
remote: Counting objects: 100% (325/325), done.
remote: Compressing objects: 100% (232/232), done.
remote: Total 23857 (delta 159), reused 205 (delta 59), pack-reused 23532
Receiving objects: 100% (23857/23857), 278.64 MiB | 2.97 MiB/s, done.
Resolving deltas: 100% (22504/22504), done.
Checking out files: 100% (3298/3298), done.
MBPE:~ eric$ cd ydk-cpp
MBPE:ydk-cpp eric$ cd core/ydk
MBPE:ydk eric$ mkdir build && cd build
MBPE:build eric$ cmake .. && make
-- The C compiler identification is AppleClang 10.0.0.10001145
-- The CXX compiler identification is AppleClang 10.0.0.10001145
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake System: MacOS
-- Found LibXml2: /usr/lib/libxml2.dylib (found version "2.9.4")
Set libyang plugin installation directory to: lib/libyang
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.14") found components: doxygen missing components: dot
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/eric/ydk-cpp/core/ydk/build
Scanning dependencies of target project_libnetconf
[ 1%] Creating directories for 'project_libnetconf'
[ 1%] Performing download step (download, verify and extract) for 'project_libnetconf'
-- Downloading...
dst='/Users/eric/ydk-cpp/core/ydk/build/project_libnetconf/src/master.zip'
timeout='none'
-- Using src='https://github.com/abhikeshav/libnetconf/archive/master.zip'
-- Downloading... done
-- extracting...
src='/Users/eric/ydk-cpp/core/ydk/build/project_libnetconf/src/master.zip'
dst='/Users/eric/ydk-cpp/core/ydk/build/project_libnetconf/src/project_libnetconf'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 2%] No patch step for 'project_libnetconf'
[ 3%] No update step for 'project_libnetconf'
[ 4%] Performing configure step for 'project_libnetconf'
checking build system type... x86_64-apple-darwin18.2.0
checking host system type... x86_64-apple-darwin18.2.0
sed: first RE may not be empty
checking for pkg-config... /usr/local/bin/pkg-config
checking for pyang... no
checking for xsltproc... yes
checking for host architecture... x86_64 is supported
checking for doxygen... doxygen
checking for rpmbuild... no
checking for greadlink... readlink
configure: WARNING: Try installing greadlink.
checking for libtool... yes
checking for clang... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking how to run the C preprocessor... clang -E
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by clang... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin18.2.0 file names to x86_64-apple-darwin18.2.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.2.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking command to parse /usr/bin/nm -B output from clang object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if clang supports -fno-rtti -fno-exceptions... yes
checking for clang option to produce PIC... -fno-common -DPIC
checking if clang PIC flag -fno-common -DPIC works... yes
checking if clang static flag -static works... no
checking if clang supports -c -o file.o... yes
checking if clang supports -c -o file.o... (cached) yes
checking whether the clang linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.2.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for ELF visibility... yes
checking for xml2-config... yes
checking for xmlDOMWrapReconcileNamespaces in -lxml2... yes
checking for xslt-config... yes
checking for xsltApplyStylesheet in -lxslt... yes
checking libxslt/transform.h usability... yes
checking libxslt/transform.h presence... no
configure: WARNING: libxslt/transform.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: libxslt/transform.h: proceeding with the compiler's result
checking for libxslt/transform.h... yes
checking libxslt/xsltInternals.h usability... yes
checking libxslt/xsltInternals.h presence... no
configure: WARNING: libxslt/xsltInternals.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: libxslt/xsltInternals.h: proceeding with the compiler's result
checking for libxslt/xsltInternals.h... yes
checking for ssh_pki_key_ecdsa_name in -lssh... yes
checking libssh/libssh.h usability... yes
checking libssh/libssh.h presence... yes
checking for libssh/libssh.h... yes
checking for ssh_threads_get_pthread in -lssh_threads... yes
./configure: line 12246: /Applications: is a directory
./configure: line 12247: dev-tools/: is a directory
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_THREAD_SAFE
checking for PTHREAD_PRIO_INHERIT... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for library containing sem_init... none required
checking pkg-config is at least version 0.9.0... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for uid_t in sys/types.h... yes
checking for inline... inline
checking for int32_t... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint64_t... yes
checking type of array argument to getgroups... gid_t
checking for getgroups... yes
checking for working getgroups... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for ftruncate... yes
checking for memset... yes
checking for mkdir... yes
checking for munmap... yes
checking for socket... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking for eaccess... no
checking for dot... NO
configure: WARNING: Due to missing pyang, lnctool will not work.
configure: creating ./config.status
config.status: creating dev-tools/lncdatastore/Makefile
config.status: creating Makefile
config.status: creating src/config.h
config.status: creating libnetconf.spec
config.status: creating libnetconf.pc
config.status: creating Doxyfile
config.status: creating headers/libnetconf.h
config.status: creating headers/libnetconf_xml.h
config.status: creating headers/libnetconf_ssh.h
config.status: executing libtool commands
[ 5%] Performing build step for 'project_libnetconf'
readlink: illegal option -- f
usage: readlink [-n] [file ...]
src/internal.c:847:43: warning: passing 'gid_t *' (aka 'unsigned int *') to parameter of type
'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (getgrouplist(username, pp->pw_gid, glist, &i) != -1) {
^~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/unistd.h:653:43: note:
passing argument to parameter here
int getgrouplist(const char *, int, int *, int *);
^
1 warning generated.
src/datastore.c:667:12: warning: unused function 'fmon_restore_file' [-Wunused-function]
static int fmon_restore_file(const char* target)
^
src/datastore.c:683:12: warning: unused function 'fmon_backup_file' [-Wunused-function]
static int fmon_backup_file(const char* source)
^
2 warnings generated.
[ 6%] Performing install step for 'project_libnetconf'
[ 7%] Completed 'project_libnetconf'
[ 7%] Built target project_libnetconf
Scanning dependencies of target project_libyang
[ 8%] Creating directories for 'project_libyang'
[ 9%] Performing download step (download, verify and extract) for 'project_libyang'
-- Downloading...
dst='/Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/master.zip'
timeout='none'
-- Using src='https://github.com/ygorelik/libyang/archive/master.zip'
-- Downloading... done
-- extracting...
src='/Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/master.zip'
dst='/Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/project_libyang'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 10%] No patch step for 'project_libyang'
[ 11%] No update step for 'project_libyang'
[ 11%] Performing configure step for 'project_libyang'
-- The C compiler identification is AppleClang 10.0.0.10001145
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found FLEX: /usr/bin/flex (found version "2.5.35")
-- Found BISON: /usr/bin/bison (found version "2.3")
CMake Warning at CMakeLists.txt:134 (message):
Missing tools (devscripts, debhelper package) for building deb package.
You won't be able to generate deb package from source code.
Compiling libyang should still works fine.
CMake Warning at CMakeLists.txt:145 (message):
Missing tools (rpm package) for building rpm package.
You won't be able to generate rpm package from source code.
Compiling libyang should still works fine.
-- Found PCRE: /usr/local/lib/libpcre.dylib
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.14") found components: doxygen missing components: dot
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/project_libyang-build
[ 12%] Performing build step for 'project_libyang'
Scanning dependencies of target yang_static
[ 2%] Building C object CMakeFiles/yang_static.dir/src/common.c.o
In file included from /Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/project_libyang/src/common.c:29:
/Users/eric/ydk-cpp/core/ydk/build/project_libyang/src/project_libyang/src/parser.h:18:10: fatal error:
'pcre.h' file not found
#include <pcre.h>
^~~~~~~~
1 error generated.
make[5]: *** [CMakeFiles/yang_static.dir/src/common.c.o] Error 1
make[4]: *** [CMakeFiles/yang_static.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [project_libyang/src/project_libyang-stamp/project_libyang-build] Error 2
make[1]: *** [CMakeFiles/project_libyang.dir/all] Error 2
make: *** [all] Error 2
MBPE:build eric$ brew install pcre
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
docker mesa platformio
Warning: pcre 8.42 is already installed and up-to-date
To reinstall 8.42, run `brew reinstall pcre`
Solved! Go to Solution.
12-12-2018 12:20 PM
12-12-2018 09:43 AM
12-12-2018 11:56 AM
12-12-2018 12:20 PM
12-13-2018 07:17 AM
07-14-2020 10:01 AM
Same issue here. How did you solve this?
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide