PowerDNS / pdns

PowerDNS Authoritative, PowerDNS Recursor, dnsdist
https://www.powerdns.com/
GNU General Public License v2.0
3.48k stars 888 forks source link

dnsdist failed to compile in freebsd 10.3 #4671

Closed emanzx closed 7 years ago

emanzx commented 7 years ago

Short description

Failed to compile dnsdist in FreeBSD 10.3 with this error bellow.

~/pdns/pdns/dnsdistdist]$ make GEN dnsmessage.pb.cc Missing input file. *** Error code 1

Stop. make: stopped in /usr/home/lbuser/pdns/pdns/dnsdistdist

Environment

Steps to reproduce

1.Install FreeBSD 10.3

  1. all deps installed in freebsd >> activemq-5.13.2 Messaging and Integration Patterns provider alsa-lib-1.1.2 ALSA compatibility library autoconf-2.69_1 Automatically configure source code on many Un*x platforms autoconf-wrapper-20131203 Wrapper script for GNU autoconf automake-1.15_1 GNU Standards-compliant Makefile generator automake-wrapper-20131203 Wrapper script for GNU automake avahi-app-0.6.31_5 Service discovery on a local network bash-4.3.46_1 The GNU Project's Bourne Again SHell binutils-2.25.1_3,1 GNU binary tools bison-2.7.1,1 Parser generator from FSF, (mostly) compatible with Yacc boost-all-1.55.0 The "meta-port" for boost libraries boost-docs-1.55.0 Documentation for libraries from boost.org boost-jam-1.55.0 Build tool from the boost.org boost-libs-1.55.0_13 Free portable C++ libraries (without Boost.Python) c-ares-1.11.0 Asynchronous DNS resolver library ca_root_nss-3.26 Root certificate bundle from the Mozilla Project cairo-1.14.6_1,2 Vector graphics library with cross-device output support cups-2.1.4 Common UNIX Printing System curl-7.50.1 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers cvsps-2.1_2 Create patchset information from CVS damageproto-1.2.1 Damage extension headers dbus-1.8.20 Message bus system for inter-application communication dbus-glib-0.104 GLib bindings for the D-BUS messaging system dejavu-2.35 Bitstream Vera Fonts clone with a wider range of characters dialog4ports-0.1.5_2 Console Interface to configure ports dri2proto-2.8 DRI2 prototype headers expat-2.1.1_2 XML 1.0 parser written in C fixesproto-5.0 Fixes extension headers fontconfig-2.12.1,1 XML-based font configuration API for X Windows freetype2-2.6.3 Free and portable TrueType font rendering engine gbm-11.2.2 gbm library gcc-4.8.5_2 GNU Compiler Collection 4.8 gcc-ecj-4.5 Eclipse Java Compiler used to build GCC Java gdbm-1.12 GNU database manager gettext-runtime-0.19.8.1 GNU gettext runtime libraries and programs ghc-7.10.2 Compiler for the functional language Haskell ghostscript9-agpl-base-9.16_5 Ghostscript 9.x PostScript interpreter, base part giflib-5.1.3 Tools and library routines for working with GIF images git-2.9.0 Distributed source code management tool glib-2.46.2_3 Some useful routines of C programming (current stable version) glproto-1.4.17 GLX extension headers gmake-4.2.1_1 GNU version of 'make' utility gmp-5.1.3_3 Free library for arbitrary precision arithmetic gnome_subr-1.0 Common startup and shutdown subroutines used by GNOME scripts gnupg-2.1.13 The GNU Privacy Guard gnutls-3.4.13 GNU Transport Layer Security library gobject-introspection-1.46.0 Generate interface introspection data for GObject libraries graphite2-1.3.8 Rendering capabilities for complex non-Roman writing systems gsfonts-8.11_6 Standard Fonts for Ghostscript harfbuzz-1.3.2 OpenType text shaping engine hs-HTTP-4000.2.20 Library for client-side HTTP hs-JuicyPixels-3.2.6 Picture loading/serialization hs-SHA-1.6.4.2 Implementations of the SHA suite of message digest functions hs-aeson-0.8.0.2 Fast JSON parsing and encoding hs-asn1-encoding-0.9.0 ASN1 data reader and writer in RAW, BER and DER forms hs-asn1-parse-0.9.1 Simple monadic parser for ASN1 stream types hs-asn1-types-0.3.0 ASN.1 types hs-async-2.0.2 Run IO operations asynchronously and wait for their results hs-attoparsec-0.12.1.6 Fast combinator parsing for bytestrings and text hs-base64-bytestring-1.0.0.1_8 Fast base64 encoding and decoding for ByteStrings hs-blaze-builder-0.4.0.1 Efficient buffered output hs-blaze-html-0.8.1.0 Blazingly fast HTML combinator library for Haskell hs-blaze-markup-0.7.0.2 Blazingly fast markup combinator library for Haskell hs-byteable-0.1.1_2 Type class for sequence of bytes hs-case-insensitive-1.2.0.4 Case-insensitive string comparison hs-cereal-0.4.1.1 Binary serialization library hs-cmark-0.4.0.1 Fast, accurate CommonMark (Markdown) parser and renderer hs-conduit-1.2.5 Streaming data processing library hs-connection-0.2.5 Simple and easy network connections API hs-cookie-0.4.1.6 HTTP cookie parsing and rendering hs-cryptonite-0.6 Cryptography Primitives sink hs-data-default-0.5.3_7 Class for types with a default value hs-data-default-class-0.0.1_7 Class for types with a default value hs-data-default-instances-base-0.0.1_7 Default instances for types in base hs-data-default-instances-containers-0.0.1_7 Default instances for types in containers hs-data-default-instances-dlist-0.0.1_7 Default instances for types in dlist hs-data-default-instances-old-locale-0.0.1_8 Default instances for types in old-locale hs-deepseq-generics-0.1.1.2 GHC.Generics-based Control.DeepSeq.rnf implementation hs-digest-0.0.1.2_9 Various cryptographic hashes for Bytestrings hs-dlist-0.7.1.1 Difference lists hs-enclosed-exceptions-1.0.1.1 Catching all exceptions from within an enclosed computation hs-exceptions-0.8.0.2 Extensible optionally-pure exceptions hs-extensible-exceptions-0.1.1.4_7 Extensible exceptions hs-filemanip-0.3.6.3 Expressive file and directory manipulation for Haskell hs-haddock-library-1.2.1 Library exposing some functionality of Haddock hs-hashable-1.2.3.3,1 Class for types that can be converted to a hash value hs-highlighting-kate-0.6 Syntax highlighting hs-hourglass-0.2.9 Simple performant time related library hs-hslua-0.4.0 Lua language interpreter embedding in Haskell hs-http-client-0.4.20 HTTP client engine, intended as a base layer for more user-friendly packages hs-http-client-tls-0.2.2_2 http-client backend using the connection package and tls library hs-http-types-0.8.6 Generic HTTP types for Haskell (for both client and server code) hs-lifted-base-0.2.3.6 Lifted IO operations from the base library hs-memory-0.8 Memory and related abtraction stuff hs-mime-types-0.1.0.6 Basic mime-type handling types and functions hs-mmorph-1.0.4 Monad morphisms hs-monad-control-1.0.0.4 Lift control operations through monad transformers hs-mtl-2.2.1 Monad classes, using functional dependencies hs-network-2.6.2.1 Low-level networking interface hs-network-uri-2.6.0.3 URI manipulation hs-old-locale-1.0.0.7 Locale library hs-old-time-1.1.0.3 Time library hs-pandoc-1.15.0.6_1 Conversion between markup formats hs-pandoc-types-1.12.4.5 Types for representing a structured document hs-parsec-3.1.9 Monadic parser combinators hs-pem-0.2.2_2 Privacy Enhanced Mail (PEM) format reader and writer hs-primitive-0.6 Primitive memory-related operations hs-random-1.1 Random number library hs-regex-base-0.93.2_14 Interface API for regex-posix,pcre,parsec,tdfa,dfa hs-regex-pcre-builtin-0.94.4.8.8.35_2 Replaces/Enhances Text.Regex hs-resourcet-1.1.6 Deterministic allocation and freeing of scarce resources hs-scientific-0.3.3.8 Numbers represented using scientific notation hs-semigroups-0.16.2.2 Anything that associates hs-socks-0.5.4_2 Socks proxy (version 5) implementation hs-stm-2.4.4 Software Transactional Memory hs-streaming-commons-0.1.12.1 Common lower-level functions needed by various streaming data libraries hs-syb-0.5.1 Scrap Your Boilerplate hs-tagsoup-0.13.3 Parsing and extracting information from HTML/XML documents hs-temporary-1.2.0.3_2 Portable temporary file and directory support for Windows and Unix hs-texmath-0.8.3 Conversion between formats used to represent mathematics hs-text-1.2.1.3 Efficient packed Unicode text type hs-tls-1.3.1 TLS/SSL protocol native implementation (Server and Client) hs-transformers-base-0.4.4 Lift computations from the bottom of a transformer stack hs-transformers-compat-0.4.0.4 Compatibility shim exposing the new types from transformers 0.3 and 0.4 hs-unix-compat-0.4.1.4 Portable POSIX-compatibility layer hs-unordered-containers-0.2.5.1 Efficient hashing-based container types hs-utf8-string-1 Support for reading and writing UTF-8 strings hs-vector-0.10.12.3 Efficient Arrays hs-void-0.7 Haskell 98 logically uninhabited data type hs-x509-1.6.0 X509 reader and writer hs-x509-store-1.6.0 X.509 collection accessing and storing methods hs-x509-system-1.6.0 Handle per-operating-system X.509 accessors and storage hs-x509-validation-1.6.0 X.509 Certificate and CRL validation hs-xml-1.3.14 Simple XML library for Haskell hs-yaml-0.8.13 Support for parsing and rendering YAML documents hs-zip-archive-0.2.3.7 Library for creating and modifying zip archives hs-zlib-0.5.4.2 Compression and decompression in the gzip and zlib formats icu-57.1,1 International Components for Unicode (from IBM) indexinfo-0.2.4 Utility to regenerate the GNU info page index inputproto-2.3.1 Input extension headers java-zoneinfo-2016.d Updated Java timezone definitions javavmwrapper-2.5_1 Wrapper script for various Java Virtual Machines jbig2dec-0.13 Decoder implementation of the JBIG2 image compression format jbigkit-2.1_1 Lossless compression for bi-level images such as scanned pages, faxes jpeg-turbo-1.4.2 SIMD-accelerated JPEG codec which replaces libjpeg kbproto-1.0.7 KB extension headers lcms2-2.7_2 Accurate, fast, and small-footprint color management engine libEGL-11.2.2 OpenEGL library libGL-11.2.2 OpenGL library that renders using GLX or DRI libICE-1.0.9_1,1 Inter Client Exchange library for X11 libSM-1.2.2_3,1 Session Management library for X11 libX11-1.6.3,1 X11 library libXau-1.0.8_3 Authentication Protocol library for X11 libXaw-1.0.13,2 X Athena Widgets library libXdamage-1.1.4_3 X Damage extension library libXdmcp-1.1.2 X Display Manager Control Protocol library libXext-1.3.3_1,1 X11 Extension library libXfixes-5.0.1_3 X Fixes extension library libXi-1.7.6,1 X Input extension library libXmu-1.1.2_3,1 X Miscellaneous Utilities libraries libXp-1.0.3,1 X print library libXpm-3.5.11_4 X Pixmap library libXrender-0.9.9 X Render extension library libXt-1.1.5,1 X Toolkit library libXtst-1.2.2_3 X Test extension libXv-1.0.11,1 X Video Extension library libXvMC-1.0.10 X Video Extension Motion Compensation library libXxf86vm-1.1.4_1 X Vidmode Extension libassuan-2.4.2 IPC library used by GnuPG and gpgme libdaemon-0.14_1 Lightweight C library that eases the writing of UNIX daemons libdevq-0.0.2_1 Generic Device Query and Monitor interface libdrm-2.4.66,1 Userspace interface to kernel Direct Rendering Module services libedit-3.1.20150325_2,1 Command line editor library libffi-3.2.1 Foreign Function Interface libfontenc-1.1.3 The fontenc Library libgcrypt-1.7.3 General purpose crypto library based on code used in GnuPG libgd-2.2.3,1 Graphics library for fast creation of images libglapi-11.2.2 Common GL api library used by Mesa based ports libgpg-error-1.23 Common error values for all GnuPG components libiconv-1.14_9 Character set conversion library libidn-1.33_1 Internationalized Domain Names command line tool libksba-1.3.4 KSBA is an X.509 Library libpaper-1.1.24.4 Library providing routines for paper size management libpciaccess-0.13.4 Generic PCI access library libpotrace-1.12 Library for transforming bitmaps into vector graphics libpthread-stubs-0.3_6 This library provides weak aliases for pthread functions libsodium-1.0.3 Library to build higher-level cryptographic tools libtasn1-4.8 ASN.1 structure parser library libtool-2.4.6 Generic shared library support script libuv-1.9.1 Multi-platform support library with a focus on asynchronous I/O libxcb-1.11.1 The X protocol C-language Binding (XCB) library libxml2-2.9.4 XML parser library for GNOME libxshmfence-1.2 Shared memory 'SyncFence' synchronization primitive libyaml-0.1.6_2 YAML 1.1 parser and emitter written in C llvm37-3.7.1_3 LLVM and Clang lua52-5.2.4 Small, compilable scripting language providing easy access to C code lua53-5.3.3_1 Small, compilable scripting language providing easy access to C code luajit-2.0.4_1 Just-In-Time Compiler for Lua m4-1.4.17_1,1 GNU m4 mkfontdir-1.0.7 Create an index of X font files in a directory mkfontscale-1.1.2 Creates an index of scalable font files for X mpc-1.0.3 Library of complex numbers with arbitrarily high precision mpfr-3.1.4 Library for multiple-precision floating-point computations nano-2.4.3 Nano's ANOther editor, an enhanced free Pico clone nettle-3.2 Low-level cryptographic library node-6.9.1 V8 JavaScript for client and server (6.x) npm-3.9.2 Node package manager npth-1.2 New GNU Portable Threads openjdk8-8.92.14_3 Java Development Kit 8 openjpeg15-1.5.2_1 Open-source JPEG 2000 codec openssl-1.0.2j_1,1 SSL and crypto library p11-kit-0.23.2 Library for loading and enumerating of PKCS#11 modules p5-Authen-SASL-2.16_1 Perl5 module for SASL authentication p5-Digest-HMAC-1.03_1 Perl5 interface to HMAC Message-Digest Algorithms p5-Error-0.17024 Error/exception handling in object-oriented programming style p5-GSSAPI-0.28_1 Perl extension providing access to the GSSAPIv2 library p5-IO-Socket-IP-0.37 Drop-in replacement for IO::Socket::INET supporting IPv4 and IPv6 p5-IO-Socket-SSL-2.029 Perl5 interface to SSL sockets p5-Mozilla-CA-20160104 Perl extension for Mozilla CA cert bundle in PEM format p5-Net-SMTP-SSL-1.03 SSL support for Net::SMTP p5-Net-SSLeay-1.74 Perl5 interface to SSL p5-Socket-2.021 Networking constants and support functions pciids-20160621 Database of all known IDs used in PCI devices pcre-8.39 Perl Compatible Regular Expressions library perl5-5.20.3_15 Practical Extraction and Report Language pinentry-0.9.7_1 Collection of simple PIN or passphrase entry dialogs pinentry-tty-0.9.7 Console version of the GnuPG password dialog pixman-0.34.0 Low-level pixel manipulation library pkg-1.8.8 Package manager pkgconf-0.9.12_1 Utility to help to configure compiler and linker flags png-1.6.23 Library for manipulating PNG images poppler-0.46.0_2 PDF rendering library poppler-data-0.4.7 Poppler encoding data printproto-1.0.5 Print extension headers protobuf-2.6.1 Data interchange format library psutils-1.17_5 Utilities for manipulating PostScript documents python2-2_3 The "meta-port" for version 2 of the Python interpreter python27-2.7.12 Interpreted object-oriented programming language ragel-6.9 Compile regular languages into executable C/C++ code re2-20151101 Fast C++ regex library readline-6.3.8 Library for editing command lines as they are typed recordproto-1.14.2 RECORD extension headers renderproto-0.11.1 RenderProto protocol headers sqlite3-3.13.0 SQL database engine in a C library sudo-1.8.17p1 Allow others to run commands as root svgalib-1.4.3_7 Low level console graphics library t1lib-5.1.2_4,1 Type 1 font rasterization library for Unix/X11 teckit-2.5.1_1 Toolkit for converting data between 8-bit legacy encodings and Unicode tex-kpathsea-6.2.1_1 Path searching library for TeX tex-ptexenc-1.3.3_2 Library for Japanese pTeX and its tools tex-web2c-20150521_1 TeX implementation translating WEB to C texlive-base-20150521_13 TeX Live Typesetting System, base binaries texlive-texmf-20150523_3 TeX Live Typesetting System, texmf Tree texlive-tlmgr-20150523_2 TeXLive manager modules tiff-4.0.6_2 Tools and library routines for working with TIFF images tpm-emulator-0.7.4_1 Trusted Platform Module (TPM) emulator trousers-0.3.13 Open-source TCG Software Stack videoproto-2.3.2 Video extension headers wget-1.18 Retrieve files from the Net via HTTP(S) and FTP xcb-util-0.4.0_1,1 Module with libxcb/libX11 extension/replacement libraries xcb-util-renderutil-0.3.9_1 Convenience functions for the Render extension xextproto-7.3.0 XExt extension headers xf86vidmodeproto-2.3.1 XFree86-VidModeExtension extension headers xpdfopen-0.86 Command line utility for PDF viewers xproto-7.0.28 X11 protocol headers zziplib-0.13.62_2 Library to provide transparent read access to zipped files

  2. download source from git.

  3. configure.

  4. make.

Expected behaviour

should compile happily.

Actual behaviour

[~/pdns/pdns/dnsdistdist]$ make GEN lua.hpp GEN dnsmessage.pb.cc Missing input file. *** Error code 1

Stop. make: stopped in /usr/home/lbuser/pdns/pdns/dnsdistdist

Other information

./configure --prefix=/home/system/dnsdist/ --enable-libsodium --enable-re2 --enable-dnscrypt checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... nawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for gcc... 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 we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking build system type... amd64-unknown-freebsd10.3 checking host system type... amd64-unknown-freebsd10.3 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 gcc... /usr/local/bin/ld checking if the linker (/usr/local/bin/ld) is GNU ld... yes 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 whether ln -s works... yes checking the maximum length of command line arguments... 196608 checking how to convert amd64-unknown-freebsd10.3 file names to amd64-unknown-freebsd10.3 format... func_convert_file_noop checking how to convert amd64-unknown-freebsd10.3 file names to toolchain format... func_convert_file_noop checking for /usr/local/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 command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E 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 gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/local/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... freebsd10.3 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 how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/local/bin/ld checking if the linker (/usr/local/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/local/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/local/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... freebsd10.3 ld.so checking how to hardcode library paths into programs... immediate checking for pkg-config... /usr/local/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether we will be linking in libsodium... yes checking for LIBSODIUM... yes checking for ragel... ragel checking for LIBEDIT... yes checking for library containing clock_gettime... none required checking for library containing inet_aton... none required checking for library containing gethostbyname... none required checking for library containing socket... none required checking for library containing gethostent... none required checking if we need to link in protobuf... auto checking for PROTOBUF... yes checking for protoc... protoc configure: WARNING: Bumping minimal Boost requirement to 1.42. To keep the requirement at 1.35, disable protobuf support checking for Boost headers version >= 1.42.0... yes checking for Boost's header version... 1_55 checking for the toolset name used by Boost for g++... gcc48 -gcc checking whether to enable unit test building... no checking whether to enable backend unit test building... no checking if we should compile in libre2 for dnsdist... yes checking for RE2... yes checking whether to enable DNSCrypt support... yes checking if we have eBPF support... auto checking linux/bpf.h usability... no checking linux/bpf.h presence... no checking for linux/bpf.h... no checking systemd/sd-daemon.h usability... no checking systemd/sd-daemon.h presence... no checking for systemd/sd-daemon.h... no checking whether we will be linking in LuaJIT... no checking whether we will be linking in Lua... auto checking for LUA... no checking for LUA... yes checking for chosen LUA... lua-5.3 checking lua.hpp usability... no checking lua.hpp presence... no checking for lua.hpp... no checking whether g++ supports C++11 features by default... no checking whether g++ supports C++11 features with -std=gnu++11... yes checking whether we will enable compiler security checks... yes checking whether C++ compiler handles -Werror -Wunknown-warning-option... no checking whether C++ compiler handles -pie... no checking whether C++ compiler handles -Wl,-pie... no checking whether C++ compiler handles -fstack-protector... yes checking whether C++ compiler handles --param ssp-buffer-size=4... yes checking whether C++ compiler handles -D_FORTIFY_SOURCE=2... yes checking for how to force completely read-only GOT table... -Wl,-z -Wl,relro -Wl,-z -Wl,now checking whether to enable AddressSanitizer... no checking whether to enable MemorySanitizer... no checking whether to enable ThreadSanitizer... no checking whether to enable LeakSanitizer... no checking whether to enable Undefined Behaviour Sanitizer... no checking for pandoc... pandoc checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating ext/yahttp/Makefile config.status: creating ext/yahttp/yahttp/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands configure: configure: Configuration summary configure: ===================== configure: configure: dnsdist configured with: '--prefix=/home/system/dnsdist/' '--enable-libsodium' '--enable-re2' '--enable-dnscrypt' configure: configure: CC: gcc configure: CXX: g++ configure: LD: /usr/local/bin/ld configure: CFLAGS: -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 --param ssp-buffer-size=4 -fstack-protector -g -O2 configure: CPPFLAGS: configure: CXXFLAGS: -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 --param ssp-buffer-size=4 -fstack-protector -g -O2 -std=gnu++11 configure: LDFLAGS: -Wl,-z -Wl,relro -Wl,-z -Wl,now configure: LIBS: configure: BOOST_CPPFLAGS: configure: configure: Features enabled configure: ---------------- configure: Lua: lua-5.3 configure: Protobuf: yes configure: systemd: no configure: libsodium: yes configure: DNSCrypt: yes configure: re2: yes configure:

I try with gmake and I got this error.

[~/pdns/pdns/dnsdistdist]$ gmake GEN dnsmessage.pb.cc gmake all-recursive gmake[1]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' Making all in ext/yahttp gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' Making all in yahttp gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp' CXX reqresp.lo CXX router.lo CXXLD libyahttp.la gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp' gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' CXX bpf-filter.o In file included from bpf-filter.hh:27:0, from bpf-filter.cc:22: iputils.hh: In member function 'std::string ComboAddress::toStringWithPort() const': iputils.hh:274:33: error: 'to_string' is not a member of 'std' return toString() + ":" + std::to_string(ntohs(sin4.sin_port)); ^ iputils.hh:276:38: error: 'to_string' is not a member of 'std' return "["+toString() + "]:" + std::to_string(ntohs(sin4.sin_port)); ^ iputils.hh: In member function 'std::string Netmask::toString() const': iputils.hh:399:37: error: 'to_string' is not a member of 'std' return d_network.toString()+"/"+std::to_string((unsigned int)d_bits); ^ gmake[2]: [Makefile:1016: bpf-filter.o] Error 1 gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' gmake[1]: [Makefile:1143: all-recursive] Error 1 gmake[1]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' gmake: *** [Makefile:840: all] Error 2

Description

just want it to compile successfully.

Habbie commented 7 years ago

Can you try gmake please?

Sent from my Android phone with K-9 Mail. Please excuse my brevity.

rgacogne commented 7 years ago

@Habbie he did :-) @emanzx I'm able to reproduce the issue when using make, it looks like the automatic variable $< is not correctly expanded. It works fine with 'gmake' though.

rgacogne commented 7 years ago

I just realized you are using gcc while I was using the default compiler (FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512). It looks like C+11 is not properly set when using gcc, I'll check.

emanzx commented 7 years ago

@Habbie [~/pdns/pdns/dnsdistdist]$ gmake GEN dnsmessage.pb.cc gmake all-recursive gmake[1]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' Making all in ext/yahttp gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' Making all in yahttp gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp' CXX reqresp.lo CXX router.lo CXXLD libyahttp.la gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp' gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp' gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' CXX bpf-filter.o In file included from bpf-filter.hh:27:0, from bpf-filter.cc:22: iputils.hh: In member function 'std::string ComboAddress::toStringWithPort() const': iputils.hh:274:33: error: 'to_string' is not a member of 'std' return toString() + ":" + std::to_string(ntohs(sin4.sin_port)); ^ iputils.hh:276:38: error: 'to_string' is not a member of 'std' return "["+toString() + "]:" + std::to_string(ntohs(sin4.sin_port)); ^ iputils.hh: In member function 'std::string Netmask::toString() const': iputils.hh:399:37: error: 'to_string' is not a member of 'std' return d_network.toString()+"/"+std::to_string((unsigned int)d_bits); ^ gmake[2]: * [Makefile:1016: bpf-filter.o] Error 1 gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' gmake[1]: * [Makefile:1143: all-recursive] Error 1 gmake[1]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist' gmake: *\ [Makefile:840: all] Error 2

@rgacogne what to you mean by "It works fine with 'gmake' though." I try with gmake but it out put this.. iputils.hh:274:33: error: 'to_string' is not a member of 'std' return toString() + ":" + std::to_string(ntohs(sin4.sin_port)); ^

rgacogne commented 7 years ago

Looks related to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193528

rgacogne commented 7 years ago

Using the default clang++ compiler instead of g++ works fine. Otherwise you can set -D_GLIBCXX_USE_C99 in CXXFLAGS to work around the aforementioned bug:

CXXFLAGS=-D_GLIBCXX_USE_C99 ./configure

emanzx commented 7 years ago

nice.. it works.. seem like the problem is with the FreeBSD compiler.. thanks @rgacogne

emanzx commented 7 years ago

Ok it work at first.. suddenly this came up.

[lbuser@DNSVPlatform ~/pdns/pdns/dnsdistdist]$ gmake
  GEN      lua.hpp
  GEN      dnsmessage.pb.cc
gmake  all-recursive
gmake[1]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist'
Making all in ext/yahttp
gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp'
Making all in yahttp
gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp'
  CXX      reqresp.lo
  CXX      router.lo
  CXXLD    libyahttp.la
gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp/yahttp'
gmake[3]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp'
gmake[3]: Nothing to be done for 'all-am'.
gmake[3]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp'
gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist/ext/yahttp'
gmake[2]: Entering directory '/usr/home/lbuser/pdns/pdns/dnsdistdist'
  CXX      bpf-filter.o
  CXX      dns.o
  CXX      dnscrypt.o
  CXX      dnsdist.o
dnsdist.cc: In function 'void checkFileDescriptorsLimits(size_t, size_t)':
dnsdist.cc:1489:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (rl.rlim_cur <= requiredFDsCount) {
                      ^
  CXX      dnsdist-dynbpf.o
  CXX      dnsdist-cache.o
  CXX      dnsdist-carbon.o
  CXX      dnsdist-console.o
  CXX      dnsdist-dnscrypt.o
  CXX      dnsdist-ecs.o
  CXX      dnsdist-lua.o
  CXX      dnsdist-lua2.o
  CXX      dnsdist-protobuf.o
  CXX      dnsdist-rings.o
  CXX      dnsdist-tcp.o
  CXX      dnsdist-web.o
  CXX      dnslabeltext.o
  CXX      dnsname.o
  CXX      dnsparser.o
  CXX      dnsrulactions.o
  CXX      dnswriter.o
  CXX      ednsoptions.o
  CXX      ednscookies.o
  CXX      ednssubnet.o
  CXX      gettime.o
  CXX      iputils.o
  CXX      misc.o
  CXX      protobuf.o
  CXX      qtype.o
  CXX      remote_logger.o
  CXX      sodcrypto.o
  CXX      statnode.o
  CXX      ext/json11/json11.o
  CXX      dnsmessage.pb.o
  CXXLD    dnsdist
protobuf.o: In function `DNSProtoBufMessage::serialize(std::string&) const':
protobuf.cc:(.text+0x1851): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
dnsmessage.pb.o: In function `PBDNSMessage_DNSQuestion::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const':
dnsmessage.pb.cc:(.text+0x2a6): undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse_DNSRR::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const':
dnsmessage.pb.cc:(.text+0x376): undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x3df): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.o: In function `PBDNSMessage::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const':
dnsmessage.pb.cc:(.text+0x57d): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x59d): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x5fd): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x61d): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x676): undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x6ad): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSQuestion::SerializeWithCachedSizesToArray(unsigned char*) const':
dnsmessage.pb.cc:(.text+0x99f): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse_DNSRR::SerializeWithCachedSizesToArray(unsigned char*) const':
dnsmessage.pb.cc:(.text+0xa55): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.cc:(.text+0xabf): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSQuestion::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
dnsmessage.pb.cc:(.text+0x12dd): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse_DNSRR::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
dnsmessage.pb.cc:(.text+0x17ae): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x18ba): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse::~PBDNSMessage_DNSResponse()':
dnsmessage.pb.cc:(.text+0x1a20): undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse::~PBDNSMessage_DNSResponse()':
dnsmessage.pb.cc:(.text+0x1b30): undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const':
dnsmessage.pb.cc:(.text+0x1e5e): undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.cc:(.text+0x20db): undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse::SerializeWithCachedSizesToArray(unsigned char*) const':
dnsmessage.pb.cc:(.text+0x2325): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.cc:(.text+0x2517): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.o: In function `PBDNSMessage::SerializeWithCachedSizesToArray(unsigned char*) const':
dnsmessage.pb.cc:(.text+0x261d): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.cc:(.text+0x2635): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.cc:(.text+0x26a5): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
dnsmessage.pb.o:dnsmessage.pb.cc:(.text+0x26bd): more undefined references to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)' follow
dnsmessage.pb.o: In function `PBDNSMessage_DNSResponse::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
dnsmessage.pb.cc:(.text+0x423b): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x42eb): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x433f): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.o: In function `PBDNSMessage::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
dnsmessage.pb.cc:(.text+0x50d3): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x512c): undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x5232): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x5284): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x5361): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.cc:(.text+0x53b8): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
dnsmessage.pb.o: In function `protobuf_AddDesc_dnsmessage_2eproto()':
dnsmessage.pb.cc:(.text+0x729d): undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))'
dnsmessage.pb.o: In function `protobuf_AssignDesc_dnsmessage_2eproto()':
dnsmessage.pb.cc:(.text+0x74af): undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'
dnsmessage.pb.o: In function `void google::protobuf::internal::RepeatedPtrFieldBase::Destroy<google::protobuf::RepeatedPtrField<std::string>::TypeHandler>() [clone .isra.108]':
dnsmessage.pb.cc:(.text.unlikely+0x85): undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [Makefile:963: dnsdist] Error 1
gmake[2]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist'
gmake[1]: *** [Makefile:1144: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/home/lbuser/pdns/pdns/dnsdistdist'
gmake: *** [Makefile:841: all] Error 2
[lbuser@DNSVPlatform ~/pdns/pdns/dnsdistdist]$ 
rgacogne commented 7 years ago

Oh, a linking issue now, nice. That might be related though. I don't have the time to investigate this one right now, any reason you are not using the default compiler (clang) ?

emanzx commented 7 years ago

I try with this command CXXFLAGS=-D_GLIBCXX_USE_C99 CC=clang CXX=clang++ ./configure --prefix=/home/system/dnsdist/ --enable-libsodium --enable-re2 --enable-dnscrypt then gmake again.. seem like the compile finished successfully. trying to install.. I think it should work pass this.. by the way, thanks again @rgacogne :)