basho / eleveldb

Erlang LevelDB API
262 stars 177 forks source link

Build failed on Mac OS 10.11.6 [JIRA: RIAK-3222] #238

Closed fogfish closed 7 years ago

fogfish commented 7 years ago

The latest commit causes build failure on Mac OS 10.11.6

https://github.com/basho/eleveldb/commit/08ea4821a174aa6fbfd0d1b54520687716d323d5

ld: warning: object file (/Users/dkolesnikov/devel/z/typhoon/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.a(snappy.o)) was built for newer OSX version (10.11) than being linked (10.8)
ld: warning: object file (/Users/dkolesnikov/devel/z/typhoon/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.a(snappy-sinksource.o)) was built for newer OSX version (10.11) than being linked (10.8)
Undefined symbols for architecture x86_64:
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::ios_base::getloc() const", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
      snappy::internal::WorkingMemory::GetHashTable(unsigned long, int*) in libsnappy.a(snappy.o)
      snappy::internal::CompressFragment(char const*, unsigned long, char*, unsigned short*, int) in libsnappy.a(snappy.o)
      snappy::Compress(snappy::Source*, snappy::Sink*) in libsnappy.a(snappy.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
      std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libsnappy.a(snappy.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from:
      snappy::Uncompress(char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in libsnappy.a(snappy.o)
      snappy::Compress(char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in libsnappy.a(snappy.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      snappy::internal::WorkingMemory::GetHashTable(unsigned long, int*) in libsnappy.a(snappy.o)
      snappy::internal::CompressFragment(char const*, unsigned long, char*, unsigned short*, int) in libsnappy.a(snappy.o)
      snappy::Compress(snappy::Source*, snappy::Sink*) in libsnappy.a(snappy.o)
      std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libsnappy.a(snappy.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
  "std::__1::cerr", referenced from:
      snappy::internal::WorkingMemory::GetHashTable(unsigned long, int*) in libsnappy.a(snappy.o)
      snappy::internal::CompressFragment(char const*, unsigned long, char*, unsigned short*, int) in libsnappy.a(snappy.o)
      snappy::Compress(snappy::Source*, snappy::Sink*) in libsnappy.a(snappy.o)
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::ctype<char>::id", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::locale::~locale()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
      snappy::LogMessageCrash::~LogMessageCrash() in libsnappy.a(snappy.o)
      snappy::LogMessage::~LogMessage() in libsnappy.a(snappy.o)
  "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
  "std::__1::ios_base::clear(unsigned int)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libsnappy.a(snappy.o)
ld: symbol(s) not found for architecture x86_64
matthewvon commented 7 years ago

... of course that check-in was submitted to fix a Mac OS build problem ... will be in touch ...

matthewvon commented 7 years ago

@angrycub ... breadcrumb to here

fogfish commented 7 years ago

I know ... However, If I revert that commit the issue is gone

matthewvon commented 7 years ago

we do not have a "buildbot" for that release. Hence the problem slipped through. Sending it back to author. Likely Monday or Tuesday before resolved.

matthewvon commented 7 years ago

Would you pull this branch and see if everything now builds for you? If so, I will merge it to develop. Thank you.

fogfish commented 7 years ago

What is the branch id? Sorry, I am not able to identify it among branches available in this repository. Is the fix at develop branch already?

fogfish commented 7 years ago

:man_facepalming: You are talking about cv-disable-snappy-dylibs. Yes, it fixes the issue.

 {eleveldb, ".*",
       %{git, "https://github.com/basho/eleveldb", {branch, develop}}
       {git, "https://github.com/basho/eleveldb", {branch, 'cv-disable-snappy-dylibs'}}
 }
angrycub commented 7 years ago

Thanks for the report and verifying the fix, @fogfish.