From gih at apnic.net Mon Nov 3 13:42:30 2014 From: gih at apnic.net (Geoff Huston) Date: Tue, 4 Nov 2014 00:42:30 +1100 Subject: [getdns-users] error building getdns in MAc OSX 10.10 Message-ID: <29256474-246E-4856-BD7B-5A18010FFFE7@apnic.net> Hi I pulled getdns 0.1.5 from github to a Mac running OSX 10.10 (Yosemite) ./configure ran without obvious problems ./make produces the following error: $ make cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make default ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c const-info.c -o const-info.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c context.c -o context.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c convert.c -o convert.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c dict.c -o dict.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c dnssec.c -o dnssec.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c general.c -o general.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c getdns_error.c -o getdns_error.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c extension/libmini_event.c -o libmini_event.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c list.c -o list.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c request-internal.c -o request-internal.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c rr-dict.c -o rr-dict.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c stub.c -o stub.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c sync.c -o sync.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c util-internal.c -o util-internal.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/keyraw.c -o keyraw.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/gbuffer.c -o gbuffer.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/wire2str.c -o wire2str.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/parse.c -o parse.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/parseutil.c -o parseutil.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/rrdef.c -o rrdef.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c gldns/str2wire.c -o str2wire.lo gldns/str2wire.c:1114:8: warning: implicit declaration of function 'strlcpy' is invalid in C99 [-Wimplicit-function-declaration] (void)strlcpy(my_ip_str, my_str, sizeof(my_ip_str)); ^ 1 warning generated. ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c util/mini_event.c -o mini_event.lo ../libtool --quiet --tag=CC --mode=compile gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -c util/rbtree.c -o rbtree.lo ../libtool --tag=CC --mode=link gcc -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I. -I. -g -O2 -I/opt/local/include -I/opt/local/include -I/usr/local/include -o libgetdns.la const-info.lo context.lo convert.lo dict.lo dnssec.lo general.lo getdns_error.lo libmini_event.lo list.lo request-internal.lo rr-dict.lo stub.lo sync.lo util-internal.lo keyraw.lo gbuffer.lo wire2str.lo parse.lo parseutil.lo rrdef.lo str2wire.lo mini_event.lo rbtree.lo -L/opt/local/lib -L/opt/local/lib -L/usr/local/lib -lunbound -lidn -lldns -rpath /usr/local/lib -version-info 1:0:0 -no-undefined -export-symbols ./libgetdns.symbols libtool: link: sed 's,^,_,' < ./libgetdns.symbols > .libs/libgetdns-symbols.expsym libtool: link: gcc -dynamiclib -o .libs/libgetdns.1.dylib .libs/const-info.o .libs/context.o .libs/convert.o .libs/dict.o .libs/dnssec.o .libs/general.o .libs/getdns_error.o .libs/libmini_event.o .libs/list.o .libs/request-internal.o .libs/rr-dict.o .libs/stub.o .libs/sync.o .libs/util-internal.o .libs/keyraw.o .libs/gbuffer.o .libs/wire2str.o .libs/parse.o .libs/parseutil.o .libs/rrdef.o .libs/str2wire.o .libs/mini_event.o .libs/rbtree.o -L/opt/local/lib -L/usr/local/lib /usr/local/lib/libunbound.dylib -lssl -lcrypto -lidn -lldns -O2 -pthread -install_name /usr/local/lib/libgetdns.1.dylib -compatibility_version 2 -current_version 2.0 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libgetdns-symbols.expsym clang: warning: argument unused during compilation: '-pthread' Undefined symbols for architecture x86_64: "_getdns_eventloop_event_init", referenced from: -exported_symbol[s_list] command line option ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [libgetdns.la] Error 1 make: *** [default] Error 2 Any clues as to the problem here? thanks, Geoff From willem at nlnetlabs.nl Mon Nov 3 14:14:16 2014 From: willem at nlnetlabs.nl (Willem Toorop) Date: Mon, 03 Nov 2014 15:14:16 +0100 Subject: [getdns-users] error building getdns in MAc OSX 10.10 In-Reply-To: <29256474-246E-4856-BD7B-5A18010FFFE7@apnic.net> References: <29256474-246E-4856-BD7B-5A18010FFFE7@apnic.net> Message-ID: <54578DB8.6050607@nlnetlabs.nl> Thanks Geoff, I'll see if I can get my hands on such a setup too before release next time. In any case, in your setup the getdns_eventloop_event_init could be defined inline and thus no symbol can be exported. Just remove the line 97 containing getdns_eventloop_event_init from src/libgetdns.symbols and try again diff --git a/src/libgetdns.symbols b/src/libgetdns.symbols index 2f8b413..9d73091 100644 --- a/src/libgetdns.symbols +++ b/src/libgetdns.symbols @@ -94,7 +94,6 @@ getdns_dict_util_get_string getdns_context_set_use_threads getdns_context_get_num_pending_requests getdns_context_process_async -getdns_eventloop_event_init getdns_context_set_eventloop getdns_context_detach_eventloop getdns_context_run I guess we'll come out with a bugfix release shortly. Op 03-11-14 om 14:42 schreef Geoff Huston: > gldns/str2wire.c:1114:8: warning: implicit declaration of function 'strlcpy' is invalid in C99 [-Wimplicit-function-declaration] > (void)strlcpy(my_ip_str, my_str, sizeof(my_ip_str)); > ^ > 1 warning generated. This is a little bit troublesome too, but let's find out if you can compile with the other fix first. -- Willem