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

Reply via email to