Coder Social home page Coder Social logo

libntech's Introduction

libntech

libntech is a lightweight C library used in CFEngine. It consists primarily of data structures, string parsing, logging, and other convenience functions which are generally reusable. See the core repo for more information about CFEngine.

Example

An example project is provided, showing how to use libntech in a new project:

https://github.com/cfengine/libntech_example

License

As per the LICENSE file, libntech is licensed under the Apache License Version 2.0.

All the files in this repository are licensed under Apache License Version 2.0, unless stated otherwise in the copyright notice inside the particular file.

Contributing

Please see the CONTRIBUTING.md file in the core repository.

Authors

CFEngine was originally created by Mark Burgess with many contributions from around the world. Thanks everyone!

CFEngine is sponsored by Northern.tech AS

libntech's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libntech's Issues

Failed to configure without libxml2

Using cfengine 3.18.3 LTS source, libntech failed to configure without libxml2.
This is a regression since 3.18.2 configure without problem.

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/cfengine-3.18.3 --htmldir=/usr/share/doc/cfengine-3.18.3/html --with-sysroot=/ --libdir=/usr/lib64 --enable-fhs --docdir=/usr/share/doc/cfengine-3.18.3 --with-workdir=/var/cfengine --with-pcre --without-libacl --with-libcurl=no --without-qdbm --with-lmdb --without-tokyocabinet --without-postgresql --without-mysql --without-libvirt --with-libyaml --without-libxml2
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for makeinfo... makeinfo
checking automake version... 1.16.5
checking for a BSD-compatible install... /usr/lib/portage/python3.10/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '250' is supported by ustar format... yes
checking whether GID '250' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking if GNU tar supports --hard-dereference... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
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 the compiler supports GNU C... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to enable C11 features... none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking for HP-UX aC... checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
no
checking for GCC specific compile flags... yes
checking for -Wno-pointer-sign... yes
checking for -Werror=implicit-function-declaration... yes
checking for -Wunused-parameter... yes
checking for -Wno-duplicate-decl-specifier... no
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-pc-linux-gnu-nm -B
checking the name lister (/usr/bin/x86_64-pc-linux-gnu-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-file... no
checking for file... file
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @file support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/x86_64-pc-linux-gnu-nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... /
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/sysmacros.h... yes
checking for sys/time.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
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... no
checking for flex... flex
checking for lex output file root... lex.yy
checking for lex library... none needed
checking for library containing yywrap... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for perl... /usr/bin/perl
checking for getconf... /usr/bin/getconf
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for debug option... no
checking for mdb_dbi_open in -llmdb... yes
checking for lmdb.h... yes
checking for x86_64-pc-linux-gnu-gcc options needed to detect all undeclared functions... none needed
checking for RSA_generate_key_ex in -lcrypto... yes
checking for SSL_free in -lssl... yes
checking whether SSL_CTX_clear_options is declared... yes
checking for openssl/opensslv.h... yes
checking for OpenSSL version... OK
checking whether SSL_OP_NO_TLSv1_1 is declared... yes
checking whether SSL_OP_NO_TLSv1_2 is declared... yes
checking whether SSL_OP_NO_TLSv1_3 is declared... yes
checking for pcre_exec in -lpcre... yes
checking for pcre.h... yes
checking for sd_listen_fds in -lsystemd... no
checking for sd_notify_barrier in -lsystemd... no
checking for systemd/sd-daemon.h... no
checking for yaml_parser_initialize in -lyaml... yes
checking for yaml.h... yes
checking for unistd.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for sys/loadavg.h... no
checking for sys/param.h... yes
checking for sys/resource.h... yes
checking for sys/mount.h... yes
checking for net/if_dl.h... no
checking for net/if_arp.h... yes
checking for utime.h... yes
checking for time.h... yes
checking for sys/time.h... (cached) yes
checking for malloc.h... yes
checking for sys/malloc.h... no
checking for vfs.h... no
checking for sys/vfs.h... yes
checking for sys/sockio.h... no
checking for sys/statvfs.h... yes
checking for sys/statfs.h... yes
checking for fcntl.h... yes
checking for sys/filesys.h... no
checking for dustat.h... no
checking for sys/systeminfo.h... no
checking for ieeefp.h... no
checking for winsock2.h... no
checking for ws2tcpip.h... no
checking for zone.h... no
checking for sys/uio.h... yes
checking for sys/types.h... (cached) yes
checking for sys/mpctl.h... no
checking for shadow.h... yes
checking for sys/jail.h... no
checking for net/route.h... yes
checking for netinet/in.h... yes
checking for netinet/ip.h... yes
checking for egrep... (cached) /bin/grep -E
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for _Bool... yes
checking for stdbool.h that conforms to C99... yes
checking for mode_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for pid_t... yes
checking for clockid_t... yes
checking for socklen_t... yes
checking for an ANSI C-conforming const... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for off_t... yes
checking for sqrt in -lm... yes
checking for clock_gettime in -lrt... yes
checking for dlopen in -ldl... yes
checking whether clock_gettime is declared... yes
checking for clock_gettime... yes
checking whether unsetenv is declared... yes
checking for unsetenv... yes
checking whether strnlen is declared... yes
checking for strnlen... yes
checking whether strndup is declared... yes
checking for strndup... yes
checking for working strndup... yes
checking whether seteuid is declared... yes
checking for seteuid... yes
checking whether setlinebuf is declared... yes
checking for setlinebuf... yes
checking whether strlcat is declared... no
checking for strlcat... no
checking whether strlcpy is declared... no
checking for strlcpy... no
checking whether realpath is declared... yes
checking whether strdup is declared... yes
checking for strdup... yes
checking whether memrchr is declared... no
checking for memrchr... yes
checking whether round is declared... yes
checking for round... yes
checking whether nanosleep is declared... no
checking for nanosleep... yes
checking whether memdup is declared... no
checking for memdup... no
checking whether memmem is declared... no
checking for memmem... yes
checking whether srand48 is declared... yes
checking for srand48... yes
checking whether drand48 is declared... yes
checking for drand48... yes
checking whether strerror is declared... yes
checking for strerror... yes
checking whether strstr is declared... yes
checking for strstr... yes
checking whether strcasestr is declared... no
checking for strcasestr... yes
checking whether strcasecmp is declared... yes
checking for strcasecmp... yes
checking whether strncasecmp is declared... yes
checking for strncasecmp... yes
checking whether strsep is declared... yes
checking for strsep... yes
checking whether strsignal is declared... yes
checking for strsignal... yes
checking whether gmtime_r is declared... yes
checking for gmtime_r... yes
checking whether getline is declared... yes
checking for getline... yes
checking whether strchrnul is declared... yes
checking for strchrnul... yes
checking whether localtime_r is declared... yes
checking for localtime_r... yes
checking whether fgetgrent is declared... yes
checking whether isfinite is declared... yes
checking for getpwent... yes
checking for setpwent... yes
checking for endpwent... yes
checking for fgetspent... yes
checking for lckpwdf... yes
checking for ulckpwdf... yes
checking for fgetspent in -lsec... no
checking whether getloadavg is declared... yes
checking for setlocale... yes
checking for getloadavg... yes
checking for pstat_getdynamic... no
checking for kstat_open in -lkstat... no
checking for getloadavg... yes
checking whether getloadavg requires setgid... no
checking whether byte ordering is bigendian... no
checking for endian.h... yes
checking whether le32toh is declared... yes
checking whether closefrom is declared... yes
checking for closefrom... yes
checking for sys/pstat.h... no
checking for pstat_getfile2... no
checking for chpasswd... /usr/sbin/chpasswd
checking for pwdadm... no
checking for useradd... /usr/sbin/useradd
checking for usermod... /usr/sbin/usermod
checking for userdel... /usr/sbin/userdel
checking for chpass... no
checking for pw... no
checking for pam_start in -lpam... yes
checking for security/pam_appl.h... yes
checking for fgetpwent... yes
checking for fgetgrent... yes
checking whether getnetgrent is declared... yes
checking for getnetgrent... yes
checking whether setnetgrent is declared... yes
checking for setnetgrent... yes
checking whether endnetgrent is declared... yes
checking for endnetgrent... yes
checking for sendto... yes
checking for ctime... yes
checking whether ctime is properly declared... no
checking for mkdir... yes
checking whether mkdir is properly declared... yes
checking for stat... yes
checking whether stat is properly declared... yes
checking for rename... yes
checking whether rename is properly declared... yes
checking whether mkdtemp is declared... yes
checking for mkdtemp... yes
checking whether strrstr is declared... no
checking for strrstr... no
checking whether stpncpy is declared... yes
checking for stpncpy... yes
checking for seteuid... (cached) yes
checking for setegid... yes
checking for setreuid... yes
checking for setregid... yes
checking for uname... yes
checking for gethostname... yes
checking for chflags... no
checking for mkfifo... yes
checking for statfs... yes
checking for statvfs... yes
checking for door... no
checking for sysinfo... yes
checking for setsid... yes
checking for sysconf... yes
checking for getzoneid... no
checking for getzonenamebyid... no
checking for fpathconf... yes
checking for struct stat.st_mtim... yes
checking for struct stat.st_mtimespec... no
checking for struct stat.st_blocks... yes
checking for PRIuMAX/PRIdMAX macros... yes
checking for stdarg.h... yes
checking for inttypes.h... (cached) yes
checking for locale.h... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for struct lconv.decimal_point... yes
checking for struct lconv.thousands_sep... yes
checking for long double... yes
checking for long long int... yes
checking for unsigned long long int... yes
checking for size_t... (cached) yes
checking for intmax_t... yes
checking for uintmax_t... yes
checking for uintptr_t... yes
checking for ptrdiff_t... yes
checking for localeconv... yes
checking for vsnprintf... yes
checking whether vsnprintf is C99 compliant... yes
checking for snprintf... yes
checking whether snprintf is C99 compliant... yes
checking for varargs.h... no
checking for vasprintf... yes
checking for asprintf... yes
checking whether dirfd is declared... yes
checking for dirfd... yes
checking for jail_get... no
checking for library containing setsockopt... none required
checking for library containing gethostent... none required
checking for socket... yes
checking for setsockopt... yes
checking for gethostent... yes
checking for struct sockaddr_storage... yes
checking whether getaddrinfo is declared... yes
checking whether inet_ntop is declared... yes
checking whether inet_pton is declared... yes
checking for inet_ntop... yes
checking for inet_pton... yes
checking for getifaddrs... yes
checking for getprocs64... no
checking for lchown... yes
checking whether pthread_attr_setstacksize is declared... yes
checking for pthread_attr_setstacksize... yes
checking whether pthread_sigmask is declared... yes
checking for pthread_sigmask... yes
checking whether sched_yield is declared... yes
checking for sched_yield... yes
checking whether openat is declared... yes
checking whether fstatat is declared... yes
checking whether fchownat is declared... yes
checking whether fchmodat is declared... yes
checking whether readlinkat is declared... yes
checking for openat... yes
checking for fstatat... yes
checking for fchownat... yes
checking for fchmodat... yes
checking for readlinkat... yes
checking whether log2 is declared... yes
checking for log2... yes
checking for fexecve... yes
checking whether alarm is declared... yes
checking whether chmod is declared... yes
checking whether chown is declared... yes
checking whether fchmod is declared... yes
checking for fchmod... yes
checking whether uname is declared... no
checking whether getuid is declared... yes
checking whether getgid is declared... yes
checking whether lstat is declared... yes
checking for sleep... yes
checking whether socketpair is declared... yes
checking whether fsync is declared... yes
checking whether glob is declared... yes
checking for struct sockaddr.sa_len... no
checking for struct ifreq.ifr_hwaddr... yes
checking for sys/sysctl.h... no
checking for struct sysinfo.uptime... yes
checking for sys/sysctl.h... (cached) no
checking for kstat.h... no
checking for utmp.h... yes
checking for utmpx.h... yes
checking for either struct rtentry or struct ortentry... rtentry
checking for llistxattr... yes
checking for attr/xattr.h... yes
checking for sys/xattr.h... yes
checking whether xattr functions have extra arguments... no
checking for yp_get_default_domain in -lnss_nis... no
checking for systemctl... no
checking Not a systemd system... checking for hostname... /bin/hostname
checking for Xen cpuid-based HVM detection... yes
checking for struct msghdr.msg_control... yes
checking for struct msghdr.msg_accrights... no

Summary:

Version: 3.18.3a.225eee6c7
Required libraries
-> OpenSSL: default path
-> PCRE: default path
Optional libraries
-> MySQL connector: disabled
-> PostgreSQL connector: disabled
-> DB: Lightning MDB: default path
-> libvirt: disabled
-> libacl: disabled
-> libcurl: disabled
-> libyaml: default path
-> libxml2: disabled
-> User promises: PAM/user* tools
-> Enterprise extensions: Plugin or not included
-> init.d script: disabled
-> Systemd service: disabled
-> SELinux policy: disabled
-> Workdir: /var/cfengine
-> Masterdir: default
-> Inputdir: default
-> Datadir: default
-> Logdir: /var/cfengine
-> Piddir: /var/cfengine
-> Statedir: default
-> bindir: /usr/bin

checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating configure_flags.env
config.status: creating Makefile
config.status: creating libcfnet/Makefile
config.status: creating libenv/Makefile
config.status: creating libpromises/Makefile
config.status: creating cf-agent/Makefile
config.status: creating cf-check/Makefile
config.status: creating cf-promises/Makefile
config.status: creating cf-execd/Makefile
config.status: creating cf-key/Makefile
config.status: creating cf-monitord/Makefile
config.status: creating cf-upgrade/Makefile
config.status: creating cf-runagent/Makefile
config.status: creating cf-serverd/Makefile
config.status: creating cf-testd/Makefile
config.status: creating cf-net/Makefile
config.status: creating cf-secret/Makefile
config.status: creating config.post.h
config.status: creating contrib/vagrant-ci/centos-7-x64/Makefile
config.status: creating misc/Makefile
config.status: creating misc/selinux/Makefile
config.status: creating ext/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/acceptance/Makefile
config.status: creating tests/acceptance/25_cf-execd/Makefile
config.status: creating tests/unit/Makefile
config.status: creating tests/load/Makefile
config.status: creating tests/static-check/Makefile
config.status: creating tests/valgrind-check/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in libntech (/var/tmp/portage/net-misc/cfengine-3.18.3/work/cfengine-3.18.3/libntech)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--disable-dependency-tracking' '--disable-silent-rules' '--htmldir=/usr/share/doc/cfengine-3.18.3/html' '--with-sysroot=/' '--libdir=/usr/lib64' '--enable-fhs' '--docdir=/usr/share/doc/cfengine-3.18.3' '--with-workdir=/var/cfengine' '--with-pcre' '--without-libacl' '--with-libcurl=no' '--without-qdbm' '--with-lmdb' '--without-tokyocabinet' '--without-postgresql' '--without-mysql' '--without-libvirt' '--with-libyaml' '--without-libxml2' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-O2 -pipe -march=native' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' --cache-file=/dev/null --srcdir=.
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for makeinfo... makeinfo
checking automake version... 1.16.5
checking for a BSD-compatible install... /usr/lib/portage/python3.10/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '250' is supported by ustar format... yes
checking whether GID '250' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking if GNU tar supports --hard-dereference... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
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 the compiler supports GNU C... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to enable C11 features... none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for HP-UX aC... no
checking for GCC specific compile flags... yes
checking for -Wno-pointer-sign... yes
checking for -Werror=implicit-function-declaration... yes
checking for -Wunused-parameter... yes
checking for -Wno-duplicate-decl-specifier... no
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-pc-linux-gnu-nm -B
checking the name lister (/usr/bin/x86_64-pc-linux-gnu-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-file... no
checking for file... file
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @file support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/x86_64-pc-linux-gnu-nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... /
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/sysmacros.h... yes
checking for sys/time.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
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... no
checking for flex... flex
checking for lex output file root... lex.yy
checking for lex library... none needed
checking for library containing yywrap... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for perl... /usr/bin/perl
checking for getconf... /usr/bin/getconf
checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for debug option... no
checking for x86_64-pc-linux-gnu-gcc options needed to detect all undeclared functions... none needed
checking for RSA_generate_key_ex in -lcrypto... yes
checking for SSL_free in -lssl... yes
checking whether SSL_CTX_clear_options is declared... yes
checking for openssl/opensslv.h... yes
checking for OpenSSL version... OK
checking whether SSL_OP_NO_TLSv1_1 is declared... yes
checking whether SSL_OP_NO_TLSv1_2 is declared... yes
checking whether SSL_OP_NO_TLSv1_3 is declared... yes
checking for pcre_exec in -lpcre... yes
checking for pcre.h... yes
checking for yaml_parser_initialize in -lyaml... yes
checking for yaml.h... yes
checking for xmlFirstElementChild in -lxml2... yes
checking for libxml/xmlwriter.h... no
configure: error: Cannot find libxml2
configure: error: ./configure failed for libntech

Fails to build from source with OpenSSL 3.0

I'm trying to build a cfengine binary on an OpenSSL 3.0-enabled Linux distribution (Ubuntu 22.04).

libntech from cfengine-3.19.0 tarball fails to build with:

In file included from hash.c:33:
./hash.h:64:28: error: unknown type name ‘RSA’
   64 | Hash *HashNewFromKey(const RSA *rsa, HashMethod method);
      |                            ^~~
./hash.h:163:23: error: unknown type name ‘RSA’
  163 | void HashPubKey(const RSA *key, unsigned char digest[EVP_MAX_MD_SIZE + 1], HashMethod type);
      |                       ^~~
hash.c:214:28: error: unknown type name ‘RSA’
  214 | Hash *HashNewFromKey(const RSA *rsa, HashMethod method)
      |                            ^~~
hash.c: In function ‘HashNewFromKey’:
hash.c:226:5: error: implicit declaration of function ‘RSA_get0_key’ [-Werror=implicit-function-declaration]
  226 |     RSA_get0_key(rsa, &n, &e, NULL);
      |     ^~~~~~~~~~~~
hash.c: At top level:
hash.c:531:11: error: unknown type name ‘RSA’
  531 |     const RSA *const key,
      |           ^~~
cc1: some warnings being treated as errors
gmake[4]: *** [Makefile:618: hash.lo] Error 1
gmake[3]: *** [Makefile:624: all-recursive] Error 1
gmake[2]: *** [Makefile:531: all] Error 2
gmake[1]: *** [Makefile:711: all-recursive] Error 1
gmake: *** [Makefile:600: all] Error 2

The types and functions mentioned are marked as deprecated in openssl 3.0, but still available if OPENSSL_NO_DEPRECATED is not defined. A simple patch removing the declaration from configure.ac works around the issue, but I assume libntech and cfengine would rather want a proper solution to the problem.

Many thanks,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.