Am 08.04.2010 um 22:20 schrieb Pavel Sanda: > Stephan Witt wrote: >> This patch is tested on Mac OS X 10.6.3 and OpenSuSE 11.2. >> >> It's unfinished now, as it doesn't include the aspell build script. >> This one I want to integrate somehow in >> "development/LyX-Mac-binary-release.sh". >> But the changes to LyX code base are complete. > > here it compiles too, put it in.
I did it. The build script mentioned above I finished too. But I cannot put it in currently because of mysterious link problem in tex2lyx... Let me explain it now. We build universal binaries for Mac - i.e. running ./configure and make twice. One build for ppc and one for i386 - finally merged together into one big thing. Since yesterday I cannot link tex2lyx in the 2nd build phase anymore. It seems like some missing dependency. The output is like that: .... Making all in tex2lyx make all-am CXX boost.o CXX Context.o CXX math.o CXX Parser.o CXX preamble.o CXX table.o CXX tex2lyx.o CXX text.o CXXLD tex2lyx ld: warning: QList<QString>::free(QListData::Data*) has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QString>::detach_helper() has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QString>::append(QString const&)has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QFileInfo>::free(QListData::Data*) has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qdir.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) Undefined symbols: "lyx::DocIterator::forwardInset()", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::Buffer::isChild(lyx::Buffer*) const", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::operator==(lyx::CursorSlice const&, lyx::CursorSlice const&)", referenced from: bool std::operator==<lyx::CursorSlice, std::allocator<lyx::CursorSlice> >(std::vector<lyx::CursorSlice, std::allocator<lyx::CursorSlice> > const&, std::vector<lyx::CursorSlice, std::allocator<lyx::CursorSlice> > const&)in Encoding.o "lyx::DocIterator::nextInset() const", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::LaTeXFeatures::require(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o "lyx::Buffer::inset() const", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::LaTeXFeatures::isAvailable(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: lyx::LyXModule::isAvailable() constin ModuleList.o "lyx::BufferList::begin()", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::inset_iterator_begin(lyx::Inset&)", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::theBufferList()", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::BufferList::end()", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::inset_iterator_end(lyx::Inset&)", referenced from: lyx::Encodings::initUnicodeMath(lyx::Buffer const&, bool)in Encoding.o "lyx::LaTeXFeatures::addPreambleSnippet(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o lyx::Encodings::validate(wchar_t, lyx::LaTeXFeatures&, bool)in Encoding.o ld: symbol(s) not found collect2: ld returned 1 exit status make[5]: *** [tex2lyx] Error 1 make[4]: *** [all] Error 2 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 The 1st build did succeed for tex2lyx. Here the output is (different!): .... Making all in tex2lyx make all-am CXX ../Color.o CXX ../Counters.o CXX ../Encoding.o CXX ../FloatList.o CXX ../Floating.o CXX ../FontInfo.o CXX ../Layout.o CXX ../LayoutModuleList.o CXX ../lengthcommon.o CXX ../Lexer.o CXX ../ModuleList.o CXX ../Spacing.o CXX ../TextClass.o CXX boost.o CXX Context.o CXX math.o CXX Parser.o CXX preamble.o CXX table.o CXX tex2lyx.o CXX text.o CXXLD tex2lyx ld: warning: QList<QString>::free(QListData::Data*) has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QString>::detach_helper() has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QString>::append(QString const&)has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qstring.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) ld: warning: QList<QFileInfo>::free(QListData::Data*) has different visibility (hidden) in /opt/qt4/lib/libQtCore.a(qdir.o) and (default) in ../../src/support/liblyxsupport.a(FileName.o) Making all in sourcedoc .... I already swapped the build platforms. It doesn't matter - it's always the 2nd run failing. I do a "make clean" before make. (Doing so after make is not nice. I have a ready to change and compile again i386 build if I clean before.) The relevant script code here is: ... for arch in ${ARCH_LIST} ; do CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export CPPFLAGS LDFLAGS="${CPPFLAGS}"; export LDFLAGS HOSTSYSTEM=`eval "echo \\$HostSystem$arch"` echo LDFLAGS="${LDFLAGS}" echo CPPFLAGS="${CPPFLAGS}" "${LyxSourceDir}/configure"\ --prefix="${LyxAppPrefix}" --with-version-suffix="-${LyXVersion}"\ ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"} \ ${ConfigureOptions}\ ${GetText} --host="${HOSTSYSTEM}" --build="${BuildSystem}" --enable-build-type=rel make clean make && make install${strip} for file in ${FILE_LIST} ; do if [ -f "${LyxAppPrefix}"/Contents/MacOS/${file} ]; then mv "${LyxAppPrefix}"/Contents/MacOS/${file}\ "${LyxAppPrefix}"/Contents/MacOS/${file}-${arch} else echo Cannot build and install LyX for ${arch}. exit 1 fi done done .... Currently I'm lost. Does anybody have an idea? Is it something with the latest automake changes? (The alpha1 tarball is working with my build script!) Stephan PS. The linker warnings have to be addressed too, but I think they are not related. PPS. There is a new action on install of the lyx binary, something is fishy in dependencies: ... Making install in . AR liblyxcore.a CXXLD lyx *** Lots of linker warnings... /usr/bin/install -c lyx '/Users/stephan/cvs/lyx/LyX-2.0.0svn.app/Contents/MacOS' ...