Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


On 12/04/18 11:14, Jan Iversen wrote:
Hi

I have over time had a problem with make (iOS build). When I update my master repo and simply call 
“make” it works like a charm for osx, but I often get unresolved dependencies for iOS:

[build LNK] iOS dylib
Undefined symbols for architecture arm64:
   "ScNoteUtil::CreateNoteFromObjectData(ScDocument&, ScAddress const&, SfxItemSet*, OutlinerParaObject*, 
tools::Rectangle const&, bool, bool)", referenced from:
       XclImpNoteObj::DoPreProcessSdrObj(XclImpDffConverter&, SdrObject&) const in 
libscfiltlo.a(xiescher.o)
   "ScColumn::SetEditText(int, EditTextObject*)", referenced from:
       (anonymous namespace)::setSuffixCell(ScColumn&, int, int, unsigned short, rtl::OUString 
const&, CellType, bool) in libsclo.a(table4.o)
   "ScDocumentImport::setEditCell(ScAddress const&, EditTextObject*)", referenced from:
       oox::xls::WorksheetGlobals::insertHyperlink(ScAddress const&, rtl::OUString const&) in 
libscfiltlo.a(worksheethelper.o)
       oox::xls::WorksheetHelper::putRichString(ScAddress const&, oox::xls::RichString const&, 
oox::xls::Font const*) in libscfiltlo.a(worksheethelper.o)
       (anonymous namespace)::lclInsertUrl(XclImpRoot&, rtl::OUString const&, short, int, short) in 
libscfiltlo.a(xicontent.o)
   "svtools::executeRestartDialog(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
const&, vcl::Window*, svtools::RestartReason)", referenced from:
       (anonymous namespace)::lcl_tryLoadBibliography() in libsfxlo.a(appserv.o)
   "ScDocument::SetEditText(ScAddress const&, EditTextObject*)", referenced from:
       ScDocFunc::SetEditCell(ScAddress const&, EditTextObject const&, bool) in libsclo.a(docfunc.o)
       ScDocument::TransliterateText(ScMarkData const&, TransliterationFlags) in 
libsclo.a(documen8.o)
       ScCellRangesBase::SetOnePropertyValue(SfxItemPropertySimpleEntry const*, 
com::sun::star::uno::Any const&) in libsclo.a(cellsuno.o)
       ScTransferObj::StripRefs(ScDocument*, short, int, short, int, ScDocument*) in 
libsclo.a(transobj.o)
       ScUndoReplace::Undo() in libsclo.a(undoblk3.o)
   "ScUndoEnterData::ScUndoEnterData(ScDocShell*, ScAddress const&, std::__1::vector<ScUndoEnterData::Value, 
std::__1::allocator<ScUndoEnterData::Value> >&, rtl::OUString const&, EditTextObject*)", referenced from:
       ScDocFunc::SetNormalString(bool&, ScAddress const&, rtl::OUString const&, bool) in 
libsclo.a(docfunc.o)

This is from master today. When I do (in this case) “cd sc; make” it tells me there are nothing to 
build, but if I do “cd sc; make clean; make; cd ..; make” it links correctly, so it is as if the 
iOS build has somehow “shortcutted” the dependencies.

I have tried to find the relevant part in Solenv/gbuild but without success, so any idea/pointer 
are most welcome.

these should be rebuilt via the generated header dependencies; for a lot of your examples the relevant file is
 workdir/Dep/LinkTarget/Library/libsclo.a.d

this should contain e.g. a dependency from sc/.../xiescher.o to whatever header declares class ScNoteUtil.

there are 2 ways to generate these .d files, one is in gb_LinkTarget__command_impl (shortcut as a side effect of linking) and the other is gb_LinkTarget__command_dep which will be invoked if the linking step didn't happen on the next invocation of make.

oh, there is one configure option that disables this whole thing, you can shoot yourself in the foot with --disable-dependency-tracking.

the examples relating to functions defined in libsc*.a should definitely not happen even if you do only a module local build (make sc).

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.