build failed on mac #64

Closed
opened 2017-06-29 05:33:49 +02:00 by chinqi · 14 comments
chinqi commented 2017-06-29 05:33:49 +02:00 (Migrated from github.com)

When I build lbrycrd on mac, there was error like this:

Undefined symbols for architecture x86_64:
"memory_cleanse(void*, unsigned long)", referenced from:
CBlockHeader::GetPoWHash() const in libbitcoinconsensus_la-block.o
std::__1::enable_if<(__is_forward_iterator<char const*>::value) && (is_constructible<char, std::__1::iterator_traits<char const*>::reference>::value), std::__1::__wrap_iter<char*> >::type std::__1::vector<char, zero_after_free_allocator >::insert<char const*>(std::__1::__wrap_iter<char const*>, char const*, char const*) in libbitcoinconsensus_la-block.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

When I build lbrycrd on mac, there was error like this: > Undefined symbols for architecture x86_64: > "memory_cleanse(void*, unsigned long)", referenced from: > CBlockHeader::GetPoWHash() const in libbitcoinconsensus_la-block.o > std::__1::enable_if<(__is_forward_iterator<char const*>::value) && (is_constructible<char, std::__1::iterator_traits<char const*>::reference>::value), std::__1::__wrap_iter<char*> >::type std::__1::vector<char, zero_after_free_allocator<char> >::insert<char const*>(std::__1::__wrap_iter<char const*>, char const*, char const*) in libbitcoinconsensus_la-block.o > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation)
caseyparker commented 2017-06-29 23:09:30 +02:00 (Migrated from github.com)

I've got the same issue.

I've got the same issue.
avoloshko commented 2017-08-11 13:31:01 +02:00 (Migrated from github.com)

any progress?

any progress?
kauffj commented 2017-08-11 23:39:10 +02:00 (Migrated from github.com)

Our protocol devs are pretty swamped so it is somewhat unlikely this will become a top issue soon. If anyone is capable or interested to tackle this, we'd be happy to bounty this.

Our protocol devs are pretty swamped so it is somewhat unlikely this will become a top issue soon. If anyone is capable or interested to tackle this, we'd be happy to bounty this.
chinqi commented 2017-08-12 03:25:14 +02:00 (Migrated from github.com)

I think the code fall behind bitcoin core a lot, when I track this error. There was big difference between core code.

I think the code fall behind bitcoin core a lot, when I track this error. There was big difference between core code.
hashbender commented 2017-12-07 06:27:37 +01:00 (Migrated from github.com)

@kauffj I'd really like to see this re-opened. is there anyone that can shed some light on how we might go about fixing it? I build on Mac only, so this is a show-stopper for me

@kauffj I'd really like to see this re-opened. is there anyone that can shed some light on how we might go about fixing it? I build on Mac only, so this is a show-stopper for me
kauffj commented 2017-12-07 16:00:48 +01:00 (Migrated from github.com)

@nitronick600 it's not closed

@nitronick600 it's not closed
sukaslayer commented 2017-12-17 22:01:45 +01:00 (Migrated from github.com)

same issue

same issue
lyoshenka commented 2017-12-29 20:27:48 +01:00 (Migrated from github.com)
Does https://github.com/lbryio/lbrycrd/pull/80 fix this issue?
hashbender commented 2018-01-02 04:23:20 +01:00 (Migrated from github.com)

@lyoshenka just tried with that change, still fails with the same error.

@lyoshenka just tried with that change, still fails with the same error.
lyoshenka commented 2018-01-05 17:45:07 +01:00 (Migrated from github.com)

I'm having trouble reproducing this error. I just ran reproducible_build.sh on Sierra and it built fine. For those having errors, can you provide more info on what version of OSX you're on, how you're building lbrycrd, or anything else that might be useful for us. Thanks.

I'm having trouble reproducing this error. I just ran reproducible_build.sh on Sierra and it built fine. For those having errors, can you provide more info on what version of OSX you're on, how you're building lbrycrd, or anything else that might be useful for us. Thanks.
hashbender commented 2018-01-05 17:48:58 +01:00 (Migrated from github.com)

I'll try it tonight and let you know.

I'll try it tonight and let you know.
hashbender commented 2018-01-06 06:42:24 +01:00 (Migrated from github.com)

@lyoshenka I didn't see the reproducible_build.sh command (it's not mentioned in the osx build instructions).

Here's the output I get from running that

checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for ld used by g++... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.3.0 dyld
checking how to hardcode library paths into programs... immediate
checking SOSUFFIX from libtool... .dylib
checking MODSUFFIX from libtool... .so
checking JMODSUFFIX from libtool... .jnilib
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for struct stat.st_blksize... yes
checking for inttypes.h... (cached) yes
checking for stdint.h... yes
checking if stdint.h can be used by C++... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for unistd.h... (cached) yes
checking size of char... 1
checking size of unsigned char... 1
checking size of short... 2
checking size of unsigned short... 2
checking size of int... 4
checking size of unsigned int... 4
checking size of long... 8
checking size of unsigned long... 8
checking size of long long... 8
checking size of unsigned long long... 8
checking size of char *... 8
checking for u_char... yes
checking for u_short... yes
checking for u_int... yes
checking for u_long... yes
checking for u_int8_t... yes
checking for u_int16_t... yes
checking for int16_t... yes
checking for u_int32_t... yes
checking for int32_t... yes
checking for u_int64_t... yes
checking for int64_t... yes
checking for FILE *... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for time_t... yes
checking size of size_t... 8
checking for ssize_t... yes
checking for uintmax_t... yes
checking for uintptr_t... yes
checking for socklen_t... yes
checking for ANSI C exit success/failure values... yes
checking for getopt optreset variable... yes
checking for mutexes... POSIX/pthreads/library/x86_64/gcc-assembly
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for main in -lpthread... yes
checking for atomic operations... x86/gcc-assembly
checking for library containing sched_yield... none required
checking for library containing fdatasync... none required
checking for library containing getaddrinfo... none required
checking for library containing hstrerror... none required
checking for main in -lm... yes
checking for main in -lnsl... no
checking for main in -lsocket... no
checking for abort... yes
checking for atoi... yes
checking for atol... yes
checking for getcwd... yes
checking for getenv... yes
checking for getopt... yes
checking for isalpha... yes
checking for isdigit... yes
checking for isprint... yes
checking for isspace... yes
checking for memcmp... yes
checking for memcpy... yes
checking for memmove... yes
checking for printf... yes
checking for qsort... yes
checking for raise... yes
checking for rand... yes
checking for strcasecmp... yes
checking for strcat... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strncat... yes
checking for strncmp... yes
checking for strrchr... yes
checking for strsep... yes
checking for strtol... yes
checking for strtoul... yes
checking for _fstati64... no
checking for backtrace... yes
checking for backtrace_symbols... yes
checking for directio... no
checking for fchmod... yes
checking for fclose... yes
checking for fcntl... yes
checking for fdatasync... yes
checking for fgetc... yes
checking for fgets... yes
checking for fopen... yes
checking for fwrite... yes
checking for getgid... yes
checking for getrusage... yes
checking for getuid... yes
checking for hstrerror... yes
checking for mprotect... yes
checking for pstat_getdynamic... no
checking for pthread_self... yes
checking for pthread_yield... no
checking for random... yes
checking for sched_yield... yes
checking for select... yes
checking for setgid... yes
checking for setuid... yes
checking for sigaction... yes
checking for snprintf... yes
checking for stat... yes
checking for sysconf... yes
checking for vsnprintf... yes
checking for yield... no
checking for gettimeofday... yes
checking for localtime... yes
checking for time... yes
checking for strftime... yes
checking for clock_gettime... yes
checking for clock_gettime monotonic clock... yes
checking for ctime_r... yes
checking for 2 or 3 argument version of ctime_r... 2-argument
checking for ftruncate... yes
checking for pread... yes
checking for pwrite... yes
checking for getaddrinfo... yes
checking for fcntl/F_SETFD... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for mlock... yes
checking for munlock... yes
checking for mmap... yes
checking for munmap... yes
checking for shmget... yes
checking for shmctl... no
checking for 64-bit integral type support for sequences... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating db_cxx.h
config.status: creating db_int.h
config.status: creating clib_port.h
config.status: creating include.tcl
config.status: creating db.h
config.status: creating db_config.h
config.status: executing libtool commands
./libtool --mode=compile cc -c -I. -I../dist/..  -O3  ../dist/../mutex/mut_tas.c

Build failed. Removing /Users/nickh/code/C/lbrycrd/build/bdb
@lyoshenka I didn't see the `reproducible_build.sh` command (it's not mentioned in the osx build instructions). Here's the output I get from running that ``` checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for ld used by g++... /Library/Developer/CommandLineTools/usr/bin/ld checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fno-common -DPIC checking if g++ PIC flag -fno-common -DPIC works... yes checking if g++ static flag -static works... no checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin17.3.0 dyld checking how to hardcode library paths into programs... immediate checking SOSUFFIX from libtool... .dylib checking MODSUFFIX from libtool... .so checking JMODSUFFIX from libtool... .jnilib checking whether stat file-mode macros are broken... no checking whether time.h and sys/time.h may both be included... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking execinfo.h usability... yes checking execinfo.h presence... yes checking for execinfo.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for struct stat.st_blksize... yes checking for inttypes.h... (cached) yes checking for stdint.h... yes checking if stdint.h can be used by C++... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for unistd.h... (cached) yes checking size of char... 1 checking size of unsigned char... 1 checking size of short... 2 checking size of unsigned short... 2 checking size of int... 4 checking size of unsigned int... 4 checking size of long... 8 checking size of unsigned long... 8 checking size of long long... 8 checking size of unsigned long long... 8 checking size of char *... 8 checking for u_char... yes checking for u_short... yes checking for u_int... yes checking for u_long... yes checking for u_int8_t... yes checking for u_int16_t... yes checking for int16_t... yes checking for u_int32_t... yes checking for int32_t... yes checking for u_int64_t... yes checking for int64_t... yes checking for FILE *... yes checking for off_t... yes checking for pid_t... yes checking for size_t... yes checking for time_t... yes checking size of size_t... 8 checking for ssize_t... yes checking for uintmax_t... yes checking for uintptr_t... yes checking for socklen_t... yes checking for ANSI C exit success/failure values... yes checking for getopt optreset variable... yes checking for mutexes... POSIX/pthreads/library/x86_64/gcc-assembly checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for main in -lpthread... yes checking for atomic operations... x86/gcc-assembly checking for library containing sched_yield... none required checking for library containing fdatasync... none required checking for library containing getaddrinfo... none required checking for library containing hstrerror... none required checking for main in -lm... yes checking for main in -lnsl... no checking for main in -lsocket... no checking for abort... yes checking for atoi... yes checking for atol... yes checking for getcwd... yes checking for getenv... yes checking for getopt... yes checking for isalpha... yes checking for isdigit... yes checking for isprint... yes checking for isspace... yes checking for memcmp... yes checking for memcpy... yes checking for memmove... yes checking for printf... yes checking for qsort... yes checking for raise... yes checking for rand... yes checking for strcasecmp... yes checking for strcat... yes checking for strchr... yes checking for strdup... yes checking for strerror... yes checking for strncat... yes checking for strncmp... yes checking for strrchr... yes checking for strsep... yes checking for strtol... yes checking for strtoul... yes checking for _fstati64... no checking for backtrace... yes checking for backtrace_symbols... yes checking for directio... no checking for fchmod... yes checking for fclose... yes checking for fcntl... yes checking for fdatasync... yes checking for fgetc... yes checking for fgets... yes checking for fopen... yes checking for fwrite... yes checking for getgid... yes checking for getrusage... yes checking for getuid... yes checking for hstrerror... yes checking for mprotect... yes checking for pstat_getdynamic... no checking for pthread_self... yes checking for pthread_yield... no checking for random... yes checking for sched_yield... yes checking for select... yes checking for setgid... yes checking for setuid... yes checking for sigaction... yes checking for snprintf... yes checking for stat... yes checking for sysconf... yes checking for vsnprintf... yes checking for yield... no checking for gettimeofday... yes checking for localtime... yes checking for time... yes checking for strftime... yes checking for clock_gettime... yes checking for clock_gettime monotonic clock... yes checking for ctime_r... yes checking for 2 or 3 argument version of ctime_r... 2-argument checking for ftruncate... yes checking for pread... yes checking for pwrite... yes checking for getaddrinfo... yes checking for fcntl/F_SETFD... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for mlock... yes checking for munlock... yes checking for mmap... yes checking for munmap... yes checking for shmget... yes checking for shmctl... no checking for 64-bit integral type support for sequences... yes configure: creating ./config.status config.status: creating Makefile config.status: creating db_cxx.h config.status: creating db_int.h config.status: creating clib_port.h config.status: creating include.tcl config.status: creating db.h config.status: creating db_config.h config.status: executing libtool commands ./libtool --mode=compile cc -c -I. -I../dist/.. -O3 ../dist/../mutex/mut_tas.c Build failed. Removing /Users/nickh/code/C/lbrycrd/build/bdb ```
lyoshenka commented 2018-01-08 16:26:16 +01:00 (Migrated from github.com)

@nitronick600 what version of OSX are you on?

@nitronick600 what version of OSX are you on?
alyssaoc commented 2018-07-18 18:09:11 +02:00 (Migrated from github.com)

completed in pull request #173

completed in pull request #173
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/lbrycrd#64
No description provided.