Apache OpenOffice (AOO) Bugzilla – Issue 17690
IRIX: setup2 - "expression must be an lvalue" and sbx include hell
Last modified: 2010-03-29 20:53:21 UTC
CC -c -I. -I. -I../inc -I../../inc -I../../unx/inc -I../../unxirxm3.pro/inc -I. -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/stl -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/external -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solenv/unxirxm3/inc -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solenv/inc -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/res -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/stl -I/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solenv/inc/Xp31 -I/usr/java2/include -I/usr/java2/include/irix -I/usr/java2/include/native_threads/include -I. -I../../res -I. -O2 -LANG:ansi-for-init-scope=OFF -LANG:std -LANG:libc_in_namespace_std=ON -LANG:exceptions=ON -KPIC -DIRIX -DUNX -DVCL -DC730 -DC730 -DMIPS -DCVER=C730 -D_USE_NAMESPACE -DSTLPORT_VERSION=0x450 -D_USE_NAMESPACE=1 -DNEW_SOLAR -DSGI_STL -D__STL_THROW_RANGE_ERRORS -D__DMAKE -DUNIX -DCPPU_ENV=MipsPro -DSUPD=645 -DBUILD=8639 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_ON -DCUI -DSOLAR_JAVA -DSRX645 -DSHAREDLIB -D_DLL_ -DMULTITHREAD -w -o ../../unxirxm3.pro/slo/action.o /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/setup2/source/agenda/action.cxx cc-1125 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/setup2/source/agenda/action.cxx, Line = 1038 Expression must be an lvalue. aPattern = ((const SiDirEntry&)(SiDirEntry(m_aSourceFile) + SiDirEntry(OS::GetAllFilesWildCard()))).GetFull(); ^ cc-1125 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/setup2/source/agenda/action.cxx, Line = 1393 Expression must be an lvalue. ByteString aSource = ((const SiDirEntry&)(aAbsPath1+SiDirEntry(m_aSourceFile))).GetFull(); ^ cc-1125 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/setup2/source/agenda/action.cxx, Line = 1394 Expression must be an lvalue. ByteString aDest = ((const SiDirEntry&)(aAbsPath2+SiDirEntry(m_aDestFile))).GetFull(); ^ cc-1113 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/svtools/sbxvar.hxx, Line = 461 The function "SbxArrayRef::operator=(SbxArray *)" was referenced but not defined. SV_DECL_REF(SbxArray) ^ cc-1113 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/svtools/sbxvar.hxx, Line = 466 The function "SbxInfoRef::operator=(SbxInfo *)" was referenced but not defined. SV_DECL_REF(SbxInfo) ^ 5 errors detected in the compilation of "/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/setup2/source/agenda/action.cxx". dmake: Error code 2, while making '../../unxirxm3.pro/slo/action.obj'
The first set of errors can be fixed like this: Changing: aPattern = ((const SiDirEntry&)(SiDirEntry(m_aSourceFile) + SiDirEntry(OS::GetAllFilesWildCard()))).GetFull(); To: SiDirEntry source = SiDirEntry(m_aSourceFile) + SiDirEntry(OS::GetAllFilesWildCard()); aPattern = source.GetFull(); Although I dont think thats 100% correct. Maybe the casts could be done differently.
The second problem looks like inc/basic/sbstar.hxx needs a: #ifndef _SBX_SBX_HXX #include <svtools/sbx.hxx> #endif setup2/source/agenda/agenda.cxx has the same lvalue problem aswell.
svtools/inc/sbxvar.hxx - needed #include <sbx.hxx> too
Rather, that should be, needed to add: #ifndef _SVTOOLS_SBXOBJ_HXX_ #include <svtools/sbxobj.hxx> #endif #ifndef _SVTOOLS_SBX_HXX #include <svtools/sbx.hxx> #endif At the END of sbxvar.hxx. Something is really screwy with this headers.
bah, these sbx*.hxx files are kinda broken. Another problem.... cc-1070 CC: ERROR File = /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/solver/645/unxirxm3.pro/inc/svtools/sbx.hxx, Line = 319 The indicated type is incomplete. class SbxCollection : public SbxObject ^ This is even tho sbxobj.hxx is included earlier in sbx.hxx Great, I think me including sbxobj at the end of sbxvar has caused this. What a mess. Circular dependency hell! Ok, perhaps I've had the wrong take on this. I've backed out the changes I made, and am looking for SV_IMPL_REF(SbxArray). Which is in sbx.hxx, hence the reason I put it in there in ther first place. Am just including sbx.hxx in sfx2/source/bastyp/fltfnc.cxx sfx2/source/control/unoctitm.cxx sfx2/source/control/srchitem.cxx sfx2/source/toolbox/tbxcust.cxx sfx2/source/dialog/slotinfo.cxx sfx2/source/dialog/templdlg.cxx sfx2/source/dialog/tplcitem.cxx sfx2/source/dialog/macropg.cxx sfx2/source/appl/appopen.cxx sfx2/source/appl/app.cxx sfx2/source/appl/appdde.cxx sfx2/source/appl/appquit.cxx sfx2/source/appl/appserv.cxx sfx2/source/appl/namecont.cxx sfx2/source/appl/scriptcont.cxx sfx2/source/doc/objcont.cxx sfx2/source/doc/objstor.cxx sfx2/source/view/sfxbasecontroller.cxx sfx2/source/view/viewprn.cxx Its not ideal, but it works. (I realise the appropriate header should have this include... but I just want this to build right now) Probably some more... tired.
sfx2/source/view/viewsh.cxx basic/source/runtime/iosys.cxx basic/source/runtime/basrdll.cxx basic/source/classes/sbintern.cxx basic/source/comp/buffer.cxx basic/source/comp/exprgen.cxx basic/source/comp/exprnode.cxx basic/source/comp/io.cxx basic/source/comp/loops.cxx basic/source/comp/symtbl.cxx basic/source/comp/token.cxx I changed basic/inc/sb.hxx in a hope to catch it at a higher level. basic/source/app/comm_bas.hxx basic/source/app/processw.hxx basic/source/app/appedit.cxx basic/source/app/apperror.hxx basic/source/app/appwin.cxx basic/source/app/dialogs.cxx basic/source/inc/object.hxx basic/source/sample/object.cxx basic/source/app/msgedit.cxx basic/source/app/printer.cxx basic/source/app/status.cxx basic/source/app/app.hxx basic/source/app/ttbasic.cxx
so3/source/misc/soerr.cxx so3/source/misc/factory.cxx
setup2/source/agenda/action.cxx setup2/source/ui/main.cxx setup2/source/ui/mainevt.cxx setup2/inc/sibasic.hxx
sfx2/inc/app.hxx
svx/source/items/chrtitem.cxx svx/source/items/hlnkitem.cxx svx/source/options/adritem.cxx
basctl/source/accessibility/accessibledialogcontrolshape.cxx basctl/source/accessibility/accessibledialogwindow.cxx
sd/source/core/sdpage.cxx sc/source/ui/view/tabvwshf.cxx
sw/source/core/doc/docchart.cxx sw/source/core/doc/docfld.cxx sw/source/core/doc/doclay.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/fmtcol.cxx sw/source/core/edit/editsh.cxx sw/source/core/attr/cellatr.cxx sw/source/core/draw/dpage.cxx sw/source/core/txtnode/atrfld.cxx sw/source/core/txtnode/fmtatr2.cxx
sw/source/core/crsr/crstrvl.cxx
automation/source/server/statemnt.cxx automation/source/server/server.cxx automation/source/server/XMLParser.cxx automation/source/server/retstrm.cxx automation/source/server/recorder.cxx automation/source/server/sta_list.cxx automation/source/testtool/cretstrm.cxx - needed to comment out the original IMPL() call here..
set target milestone to 1.1.1
sw/source/ui/frmdlg/cption.cxx sw/source/core/layout/atrfrm.cxx sw/source/ui/config/cfgitems.cxx sw/source/core/fields/fldlst.cxx sw/source/core/fields/cellfml.cxx sw/source/core/fields/tblcalc.cxx sw/source/core/fields/usrfld.cxx sw/source/core/fields/fldbas.cxx sw/source/core/fields/expfld.cxx sw/source/core/bastyp/calc.cxx sw/source/core/frmedt/fetab.cxx sw/source/core/undo/unsect.cxx sw/source/core/docnode/ndsect.cxx sw/source/ui/fldui/fldvar.cxx
reassigned.
retarget to 1.1.2 - a lot of additional header inclusion, it looks like some header needs to include what it depends on, so we should go for the right fix (but this is only found by MipsPro?)
This is (obviously) definetly NOT the right fix... just the thing that happened to make it work at the time. I agree, we need to find the appropriate header and add an incldue in there, but I didn't manage to find it (well, if I did, it caused many other problems aswell).
per issue 106845 sb removed the partial irix port, so this doesn't make sense in isolation anymore
closing