[bt-devel] Building on OS X

Greg Hellings greg.hellings at gmail.com
Wed Nov 26 02:06:10 MST 2008


Martin,

Before I post in the log, I just want to add this comment: when the
script was looking for CLucene, it properly found my installation in
/opt/local, which I have included in my CMAKE_INCLUDE_PATH and
CMAKE_LIBRARY_PATH.  However, after it properly found CLucene, it then
produced an error saying that it couldn't locate CLucene.  When I
looked in CMakeCache.txt it had proper values for CLUCENE_INCLUDE_DIR
and CLUCENE_LIBRARY, but it wasn't able to figure out
CLUCENE_LIBRARY_DIR for whatever reason... just as simple as dropping
off the libclucene.dylib from the end of the CLUCENE_LIBRARY value.
Strange... but manually filling in CLUCENE_LIBRARY_DIR in
CMakeCache.txt allowed the configure to proceed fine (another reason I
LOVE Cmake and disdain autotools).

Anyway, here's the linking stage output (warning -- long):
[100%] Building CXX object CMakeFiles/bibletime.dir/bibletime_automoc.o
Linking CXX executable bibletime.app/Contents/MacOS/bibletime
ld warning: duplicate dylib /usr/lib/libz.dylib
Undefined symbols:
  "_u_strToUTF8_3_8", referenced from:
      sword::ICUStringMgr::upperUTF8(char*, unsigned int) constin
libsword.a(stringmgr.o)
  "_ublock_getCode_3_8", referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
  "icu_3_8::Transliterator::registerInstance(icu_3_8::Transliterator*)",
referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
  "_ures_getStringByIndex_3_8", referenced from:
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::doCompare(int, int, unsigned short const*,
int, int) const", referenced from:
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::find(icu_3_8::UnicodeString const&)in
libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::find(icu_3_8::UnicodeString const&)in
libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >
>::insert_unique(std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >
>::insert_unique(std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::UnicodeString(unsigned short const*)",
referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
  "_ures_getByKey_3_8", referenced from:
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "_ucnv_close_3_8", referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8NFKD::~UTF8NFKD()in libsword.a(utf8nfkd.o)
      sword::UTF8NFKD::~UTF8NFKD()in libsword.a(utf8nfkd.o)
  "icu_3_8::UnicodeString::UnicodeString(signed char, unsigned short
const*, int)", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "_u_strFromUTF8_3_8", referenced from:
      sword::ICUStringMgr::upperUTF8(char*, unsigned int) constin
libsword.a(stringmgr.o)
  "_ucnv_toUChars_3_8", referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8NFKD::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*)in libsword.a(utf8nfkd.o)
  "icu_3_8::UnicodeString::extract(int, int, char*, unsigned int, char
const*) const", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
  "icu_3_8::Transliterator::createFromRules(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UParseError&,
UErrorCode&)", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
  "_u_strToUpper_3_8", referenced from:
      sword::ICUStringMgr::upperUTF8(char*, unsigned int) constin
libsword.a(stringmgr.o)
  "_ures_openDirect_3_8", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "_ures_getStringByKey_3_8", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::UnicodeString(char const*, char const*)",
referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
  "icu_3_8::Transliterator::createInstance(icu_3_8::UnicodeString
const&, UTransDirection, UErrorCode&)", referenced from:
      sword::UTF8Transliterator::createTrans(icu_3_8::UnicodeString
const&, UTransDirection, UErrorCode&)   in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
  "_ures_getByIndex_3_8", referenced from:
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::UnicodeString()", referenced from:
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::~UnicodeString()", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >
>::_M_erase(std::_Rb_tree_node<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >*)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >
>::_M_erase(std::_Rb_tree_node<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >*)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >
>::_M_erase(std::_Rb_tree_node<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >*)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
  "_unorm_normalize_3_8", referenced from:
      sword::UTF8NFKD::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*)in libsword.a(utf8nfkd.o)
  "_ucnv_open_3_8", referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8NFKD::UTF8NFKD()in libsword.a(utf8nfkd.o)
  "_u_errorName_3_8", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "_ures_close_3_8", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
  "_ucnv_fromUChars_3_8", referenced from:
      sword::UTF8Transliterator::processText(sword::SWBuf&,
sword::SWKey const*, sword::SWModule const*)in
libsword.a(utf8transliterator.o)
      sword::UTF8NFKD::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*)in libsword.a(utf8nfkd.o)
  "icu_3_8::UnicodeString::operator=(icu_3_8::UnicodeString const&)",
referenced from:
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
  "icu_3_8::UnicodeString::UnicodeString(icu_3_8::UnicodeString
const&)", referenced from:
      sword::UTF8Transliterator::checkTrans(icu_3_8::UnicodeString
const&, UErrorCode&)   in libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::registerTrans(icu_3_8::UnicodeString
const&, icu_3_8::UnicodeString const&, UTransDirection, UErrorCode&)in
libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
      std::_Rb_tree<icu_3_8::UnicodeString const,
std::pair<icu_3_8::UnicodeString const, sword::SWTransData>,
std::_Select1st<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> >, std::less<icu_3_8::UnicodeString const>,
std::allocator<std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> > >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::pair<icu_3_8::UnicodeString const,
sword::SWTransData> const&)in libsword.a(utf8transliterator.o)
  "_ures_getSize_3_8", referenced from:
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
      sword::UTF8Transliterator::Load(UErrorCode&)      in
libsword.a(utf8transliterator.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [bibletime.app/Contents/MacOS/bibletime] Error 1
make[1]: *** [CMakeFiles/bibletime.dir/all] Error 2
make: *** [all] Error 2



More information about the bt-devel mailing list