On 14.05.2011 01:12, Rob Oakes wrote:
It's fixed. It's possible to build with external and internal libintl now.

Thanks for taking a look at it. For some reason, I still kept having problems 
(even after deleting my build directory and CMakeLists.txt.user). It still kept 
trying to use the external libintl.

So ... I went in and deliberately set
LYX_EXTERNAL_LIBINTL to OFF and that fixed things.

Ugh. I spoke too soon. It's compiling okay, but now I'm getting strange linker 
errors: related to libiconv:

Undefined symbols:
"_libiconv_close", referenced from:
lyx::IconvProcessor::convert(char const*, unsigned long, char*, unsigned 
long)in libsupport.a(unicode.cpp.o)
lyx::IconvProcessor::Impl::~Impl()in libsupport.a(unicode.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in 
libsupport.a(docstream.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in 
libsupport.a(docstream.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in 
libsupport.a(docstream.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in 
libsupport.a(docstream.cpp.o)
"_libiconv_open", referenced from:
lyx::IconvProcessor::init() in libsupport.a(unicode.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::iconv_codecvt_facet(std::basic_string<char, 
std::char_traits<char>, std::allocator<char>  >  const&, std::_Ios_Openmode, 
unsigned long)in libsupport.a(docstream.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::iconv_codecvt_facet(std::basic_string<char, 
std::char_traits<char>, std::allocator<char>  >  const&, std::_Ios_Openmode, 
unsigned long)in libsupport.a(docstream.cpp.o)
__nl_find_msg in libintl.a(dcigettext.c.o)
__nl_find_msg in libintl.a(dcigettext.c.o)
"_libiconv", referenced from:
lyx::IconvProcessor::convert(char const*, unsigned long, char*, unsigned 
long)in libsupport.a(unicode.cpp.o)
lyx::IconvProcessor::convert(char const*, unsigned long, char*, unsigned 
long)in libsupport.a(unicode.cpp.o)
(anonymous namespace)::iconv_codecvt_facet::do_iconv(void*, char const**, 
unsigned long*, char**, unsigned long*) constin libsupport.a(docstream.cpp.o)
__nl_find_msg in libintl.a(dcigettext.c.o)
(maybe you meant: _libiconv_set_relocation_prefix)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [bin/LyX] Error 1
make[1]: *** [src/CMakeFiles/LyX.dir/all] Error 2
make: *** [all] Error 2
The process "/usr/bin/make" exited with code 2.
Error while building project lyx (target: Desktop)
When executing build step 'Make'

Any ideas how I might be able to fix these? Do we also include an internal 
libiconv that I can set the compiler to look for?

Cheers,

Rob

Do you get warnings from cmake about libraries?

I assume it links against the wrong libiconv. I tried to fix this it yesterday 
when I had the same error.
Building with internal libintl it should work with /usr/lib/libiconv.dylib, you 
could set the library
with -DICONV_LIBRARY=/usr/lib/libiconv.dylib. If it doesn't work with this lib, 
maybe there is another in
/opt/local/lib.

Peter

Reply via email to