On 5 Sep, Marcus wrote: > Am 09/05/2016 09:33 PM, schrieb Don Lewis: >> On 5 Sep, Marcus wrote: >>> Am 09/05/2016 05:39 AM, schrieb Don Lewis: >>>> On 4 Sep, Don Lewis wrote: >>>>> On 4 Sep, Marcus wrote: >>>>>> Thanks a lot. "libXt-devel" was indeed not installed. >>>>>> >>>>>> But now it's breaking in svx: >>>>>> >>>>>> [...] >>>>>> >>>>>> ============= >>>>>> Building module svx >>>>>> ============= >>>>>> >>>>>> Entering /share/linux2/aoo/trunk/main/svx/prj >>>>>> >>>>>> cd ..&& make -s -r -j1&& make -s -r deliverlog >>>>>> [ build LNK ] Library/libsvxcore.so >>>>>> /share/linux2/aoo/trunk/main/solver/420/unxlngx6.pro/workdir/CxxObject/svx/source/fmcomp/fmgridif.o: >>>>>> In function >>>>>> `FmXGridControl::createPeer(com::sun::star::uno::Reference<com::sun::star::awt::XToolkit> >>>>>> const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindowPeer> >>>>>> const&)': >>>>>> fmgridif.cxx:(.text+0x68b2): undefined reference to `non-virtual thunk to >>>>>> WindowListenerMultiplexer::acquire()' >>>>>> /usr/bin/ld: >>>>>> /share/linux2/aoo/trunk/main/solver/420/unxlngx6.pro/workdir/CxxObject/svx/source/fmcomp/fmgridif.o: >>>>>> relocation R_X86_64_PC32 against undefined symbol >>>>>> `_ZThn48_N25WindowListenerMultiplexer7acquireEv' can not be used when >>>>>> making a shared object; recompile with -fPIC >>>>>> /usr/bin/ld: final link failed: Bad value >>>>>> collect2: error: ld returned 1 exit status >>>>>> /share/linux2/aoo/trunk/main/solenv/gbuild/LinkTarget.mk:248: recipe for >>>>>> target >>>>>> '/share/linux2/aoo/trunk/main/solver/420/unxlngx6.pro/workdir/LinkTarget/Library/libsvxcore.so' >>>>>> failed >>>>>> make: *** >>>>>> [/share/linux2/aoo/trunk/main/solver/420/unxlngx6.pro/workdir/LinkTarget/Library/libsvxcore.so] >>>>>> Error 1 >>>>>> dmake: Error code 2, while making 'all' >>>>>> >>>>>> 1 module(s): >>>>>> svx >>>>>> need(s) to be rebuilt >>>>> >>>>> That looks very familiar. What compiler version are you using? >>> >>> gcc 4.9.2 >>> >>>> Yup, it's gcc 4.9 bug. This is what I did for the FreeBSD port to work >>>> around this problem: >>>> <https://bz.apache.org/ooo/show_bug.cgi?id=125475#c8> >>>> >>>> Unfortunately $(CCNUMVER) isn't available to gbuild so we can't disable >>>> optimization of the affected file only for gcc 4.9. >>> >>> I'm sorry but the error has not changed. I've compared the patched >>> "Library_svxcore.mk" file with the original one and only these changes >>> were made. >>> >>> In your patch a "dbaccess/source/ui/uno/makefile.mk" file is mentioned >>> which I don't have. Is this related to the "--disable-odk" configure >>> flag I've used and therefore is OK? >> >> Hmn, that's strange. That makefile is still present in recent trunk. >> It' doesn't have any relationship to --disable-odk. > > Yesterday I've done my very first checkout and a "svn update" a second > ago in the directory doesn't got anything new. SWo, it's indeed strange. > >>> Is there any other way than to downgrade gcc? >> >> For the FreeBSD port, I'm not using that patch due to the lack of >> $(CCNUMVER) on the gbuild side of thigs. If we had that, then I would >> have upstreamed the patch. Instead, I'm still using the workaround in >> the third to last paragraph. The Makefile for the FreeBSD port does >> this on-the-fly patch: >> >> .if ${COMPILER_TYPE} == gcc >> # g++49 -Os sometimes leaves inline class methods undefined, >> # affects fmgridif.cxx and ColumnControl.cxx >> # See:<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009> >> if [ ${CXX} = g++49 ]; then \ >> ${REINPLACE_CMD} -e "s/ := -Os/ := -Os -fno-devirtualize >> -fno-de >> virtualize-speculatively/" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk; \ >> ${REINPLACE_CMD} -e "s/=-Os /=-Os -fno-devirtualize >> -fno-devirtu >> alize-speculatively /" ${WRKSRC}/solenv/inc/unxfbsdi.mk; \ >> fi >> >> >> For Linux you would have to patch main/solenv/gbuild/platform/linux.mk >> (and main/solenv/inc/unxlng*.mk for non-x86_64 platforms). > > I've add the following to line 152, beside to the COMPILERNOOPTSFLAFS > > gb_COMPILEROPTFLAGS := O0 > > I hope that this correct. If so, then unfortunately it doesn't make a > change. Stil lthe same error. > >> On x86_64, the Library_svxcore.mk patch should have done the trick >> though. The problem is triggered by using -Os optimization and with >> that change to Library_svxcore.mk, fmgridif.cxx should be getting >> compiled with -O0. Can you check the log file to see if that is the >> case? You'll probably have to configure with --enable-verbose to see >> it. > > OK, turned back the "linux.mk" patch. > > I've added --enable-verbose to configure, bootstrap'ed and source'ed > again. The build cancelled at the same location and with the same error > message. > > "fmgridif.cxx" was nowhere mentioned, only a "fmgridif.o". It's the last > file mentioned in a long list of .o files from module "svx".
Are you starting from a clean build each time? If you just restart the build, it will reuse the bad fmgridif.o. It is necessary to recompile fmgridif.cxx with the patched Library_svxcore.mk. > BTW: > Due to dependencies for ant, junit, hamcreast and others I had to > install JDK 1.8.0. Dont' know if this matters somehoe. Not for this problem. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org