Closed foozmeat closed 10 years ago
Looks like there are 2 slightly different definitions of rotbuf_log() in rotbuf.h.
Try deleting this one? https://github.com/servalproject/serval-dna/blob/development/rotbuf.h#L136
On Thu, Apr 3, 2014 at 6:18 AM, James Moore notifications@github.comwrote:
Hi, I'm working on an ios build wrapper for servald. I'm hitting a build error though when I attempt to compile. I browsed through the source and it wasn't immediately obvious to me why this linker error is occurring.
- autoreconf -f -i
- rm -rf '/tmp/serval-dna-*'
- CFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -miphoneos-version-min=7.1'
- CC='clang -arch x86_64'
- ./configure --prefix=/tmp/serval-dna-x86_64 --disable-voiptest checking build system type... x86_64-apple-darwin13.1.0 checking host system type... x86_64-apple-darwin13.1.0 checking target system type... x86_64-apple-darwin13.1.0 checking for pkg-config... /usr/local/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for gcc... clang -arch x86_64 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 -arch x86_64 accepts -g... yes checking for clang -arch x86_64 option to accept ISO C89... none needed checking how to run the C preprocessor... clang -arch x86_64 -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -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 gcc... (cached) clang -arch x86_64 checking whether we are using the GNU C compiler... (cached) yes checking whether clang -arch x86_64 accepts -g... (cached) yes checking for clang -arch x86_64 option to accept ISO C89... (cached) none needed 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 math.h usability... yes checking math.h presence... yes checking for math.h... yes checking float.h usability... yes checking float.h presence... yes checking for float.h... yes checking for gcj... no checking for guavac... no checking for jikes... no checking for javac... javac checking if javac works... yes checking for javac... /usr/bin/javac checking symlink for /usr/bin/javac... /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac checking for srandomdev in -lc... yes checking for nanosleep in -lrt... no checking for getpeereid... yes checking for bcopy... yes checking for bzero... yes checking for bcmp... yes checking for lseek64... no checking for off64_t... no checking size of off_t... 8 checking stdio.h usability... yes checking stdio.h presence... yes checking for stdio.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking for stdlib.h... (cached) yes checking for strings.h... (cached) yes checking for unistd.h... (cached) yes checking for string.h... (cached) yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/ucred.h usability... yes checking sys/ucred.h presence... yes checking for sys/ucred.h... yes checking poll.h usability... yes checking poll.h presence... yes checking for poll.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking linux/ioctl.h usability... no checking linux/ioctl.h presence... no checking for linux/ioctl.h... no checking linux/netlink.h usability... no checking linux/netlink.h presence... no checking for linux/netlink.h... no checking linux/rtnetlink.h usability... no checking linux/rtnetlink.h presence... no checking for linux/rtnetlink.h... no checking net/if.h usability... yes checking net/if.h presence... yes checking for net/if.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking ifaddrs.h usability... yes checking ifaddrs.h presence... yes checking for ifaddrs.h... yes checking net/route.h usability... yes checking net/route.h presence... yes checking for net/route.h... yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking jni.h usability... yes checking jni.h presence... yes checking for jni.h... yes checking ucred.h usability... no checking ucred.h presence... no checking for ucred.h... no checking sys/filio.h usability... yes checking sys/filio.h presence... yes checking for sys/filio.h... yes checking sys/endian.h usability... no checking sys/endian.h presence... no checking for sys/endian.h... no checking sys/byteorder.h usability... no checking sys/byteorder.h presence... no checking for sys/byteorder.h... no checking sys/sockio.h usability... yes checking sys/sockio.h presence... yes checking for sys/sockio.h... yes checking for sys/socket.h... (cached) yes checking for linux/if.h... no checking alsa/asoundlib.h usability... no checking alsa/asoundlib.h presence... no checking for alsa/asoundlib.h... no checking for sqrtf in -lm... yes checking for callrpc in -lnsl... no checking for socket in -lsocket... no checking for dlopen in -ldl... yes checking linker -z relro option... no checking for SSP support... yes checking for library containing sinf... none required checking for library containing cosf... none required checking for library containing tanf... none required checking for library containing asinf... none required checking for library containing acosf... none required checking for library containing atanf... none required checking for library containing atan2f... none required checking for library containing ceilf... none required checking for library containing floorf... none required checking for library containing powf... none required checking for library containing expf... none required checking for library containing logf... none required checking for library containing log10f... none required checking for library containing strlcpy... none required configure: creating ./config.status config.status: creating Makefile config.status: creating testconfig.sh
- make sqlite-amalgamation-3070900/sqlite3.c:7763:26: warning: unused variable 'sqlite3one' [-Wunused-const-variable] SQLITE_PRIVATE const int sqlite3one = 1; ^ 1 warning generated. rhizome_direct_http.c:725:41: warning: implicit conversion from enumeration type 'enum rhizome_payload_status' to different enumeration type 'enum rhizome_bundle_status' [-Wenum-conversion] enum rhizome_bundle_status pstatus = rhizome_open_read(&read, &filehash);
1 warning generated. rhizome_store.c:610:12: warning: implicit conversion from enumeration type 'enum rhizome_bundle_status' to different enumeration type 'enum rhizome_payload_status' [-Wenum-conversion] return RHIZOME_BUNDLE_STATUS_ERROR; ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~ rhizome_store.c:677:12: warning: implicit conversion from enumeration type 'enum rhizome_payload_status' to different enumeration type 'enum rhizome_bundle_status' [-Wenum-conversion] return RHIZOME_PAYLOAD_STATUS_NEW; ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ rhizome_store.c:682:12: warning: implicit conversion from enumeration type 'enum rhizome_payload_status' to different enumeration type 'enum rhizome_bundle_status' [-Wenum-conversion] return RHIZOME_PAYLOAD_STATUS_CRYPTO_FAIL; ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rhizome_store.c:694:10: warning: implicit conversion from enumeration type 'enum rhizome_payload_status' to different enumeration type 'enum rhizome_bundle_status' [-Wenum-conversion] return RHIZOME_PAYLOAD_STATUS_NEW; ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ rhizome_store.c:706:14: warning: implicit conversion from enumeration type 'enum rhizome_bundle_status' to different enumeration type 'enum rhizome_payload_status' [-Wenum-conversion] status = rhizome_write_derive_key(m, write); ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rhizome_store.c:1325:14: warning: implicit conversion from enumeration type 'enum rhizome_bundle_status' to different enumeration type 'enum rhizome_payload_status' [-Wenum-conversion] status = rhizome_write_derive_key(m, write); ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 warnings generated. clang: warning: argument unused during compilation: '-pthread' duplicate symbol _rotbuf_log in: rotbuf.o keyring.o ld: 1 duplicate symbol for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: **\* [servald] Error 1
— Reply to this email directly or view it on GitHubhttps://github.com/servalproject/serval-dna/issues/75 .
Thanks, that worked. I'll comment out that function with a comment as a part of my branch.
Hi, I'm working on an ios build wrapper for servald. I'm hitting a build error though when I attempt to compile. I browsed through the source and it wasn't immediately obvious to me why this linker error is occurring.