Undefined symbol _strdupa build failure for 3.6.3
Description of problem:
The build fails on macOS with clang, tested on 10.11, 10.12, and 10.13. The build also fails with GCC 8 in the same way.
Version of gnutls used:
3.6.3
Distributor of gnutls (e.g., Ubuntu, Fedora, RHEL)
Attempting to upgrade the development spec version in the Homebrew formula from 3.6.2 -> 3.6.3.
How reproducible:
Steps to Reproduce:
Fails during make
Actual results:
bash-3.2$ make -j1
<snip>
Making all in doc
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in examples
/bin/sh ../../libtool --tag=CC --mode=link clang -fno-common -W -Wabi -Waddress -Wall -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wcomment -Wcomments -Wdangling-else -Wdate-time -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wdouble-promotion -Wduplicate-decl-specifier -Wempty-body -Wendif-labels -Wenum-compare -Wextra -Wformat-extra-args -Wformat-security -Wformat-zero-length -Wignored-attributes -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wincompatible-pointer-types -Winit-self -Wint-conversion -Wint-to-pointer-cast -Winvalid-pch -Wlogical-not-parentheses -Wmain -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnull-dereference -Wodr -Wold-style-definition -Woverflow -Wpacked -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wreturn-type -Wsequence-point -Wshadow -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value -Wsizeof-array-argument -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wswitch -Wswitch-bool -Wtautological-compare -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wno-missing-field-initializers -Wno-missing-field-initializers -Wno-unused-parameter -fdiagnostics-show-option -g -O2 -no-install -Wl,-no_weak_imports -o tlsproxy/tlsproxy tlsproxy/buffer.o tlsproxy/crypto-gnutls.o tlsproxy/tlsproxy.o libexamples.la ../../lib/libgnutls.la ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la
libtool: warning: '-no-install' is ignored for x86_64-apple-darwin15.6.0
libtool: warning: assuming '-no-fast-install' instead
libtool: link: clang -fno-common -W -Wabi -Waddress -Wall -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wcomment -Wcomments -Wdangling-else -Wdate-time -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wdouble-promotion -Wduplicate-decl-specifier -Wempty-body -Wendif-labels -Wenum-compare -Wextra -Wformat-extra-args -Wformat-security -Wformat-zero-length -Wignored-attributes -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wincompatible-pointer-types -Winit-self -Wint-conversion -Wint-to-pointer-cast -Winvalid-pch -Wlogical-not-parentheses -Wmain -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnull-dereference -Wodr -Wold-style-definition -Woverflow -Wpacked -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wreturn-type -Wsequence-point -Wshadow -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value -Wsizeof-array-argument -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wswitch -Wswitch-bool -Wtautological-compare -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wno-missing-field-initializers -Wno-missing-field-initializers -Wno-unused-parameter -fdiagnostics-show-option -g -O2 -Wl,-no_weak_imports -o tlsproxy/.libs/tlsproxy tlsproxy/buffer.o tlsproxy/crypto-gnutls.o tlsproxy/tlsproxy.o ./.libs/libexamples.a ../../lib/.libs/libgnutls.dylib -L/usr/local/Cellar/p11-kit/0.23.12/lib -lp11-kit -lunistring -L/usr/local/Cellar/libtasn1/4.13/lib -ltasn1 -L/usr/local/Cellar/nettle/3.4/lib -lnettle -lhogweed -lgmp ../../gl/.libs/libgnu.a ../../src/gl/.libs/libgnu_gpl.a -framework CoreFoundation -framework Security
Undefined symbols for architecture x86_64:
"_strdupa", referenced from:
_main in tlsproxy.o
_runproxy in tlsproxy.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [tlsproxy/tlsproxy] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
bash-3.2$
Expected results:
A successful build.