Why can't gcc-4.2.1 build usable libreoffice?

Kevin Oberman rkoberman at gmail.com
Tue Feb 19 05:35:36 UTC 2013


On Mon, Feb 18, 2013 at 12:26 PM, Chris Rees <crees at freebsd.org> wrote:
> On 14 February 2013 13:57, Mikhail T. <mi+thun at aldan.algebra.com> wrote:
>> Hello!
>>
>> I just finished building editors/libreoffice with gcc-4.2.1 -- had to
>> edit the port's Makefile to prevent it from picking a different
>> compiler. Everything built and installed, but libreoffice dies on
>> start-up (right after flashing the splash-window):
>>
>>     (gdb) where
>>     #0  0x000000080596c1aa in cppu::__getTypeEntries ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #1  0x000000080596c333 in cppu::__queryDeepNoXInterface ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #2  0x000000080596d4a2 in cppu::WeakImplHelper_query ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #3  0x00000008116f2b03 in
>>     cppu::WeakImplHelper1<com::sun::star::lang::XEventListener>::queryInterface
>>     ()
>>        from /opt/lib/libreoffice/ure/lib/bootstrap.uno.so
>>     #4  0x0000000805970347 in
>>     cppu::OInterfaceContainerHelper::disposeAndClear ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #5  0x00000008059705b2 in
>>     cppu::OMultiTypeInterfaceContainerHelper::disposeAndClear ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #6  0x000000080593309f in cppu::OComponentHelper::dispose ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #7  0x0000000805963d00 in cppu::OFactoryComponentHelper::dispose ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #8  0x00000008116ec296 in stoc_smgr::OServiceManager::disposing ()
>>     from /opt/lib/libreoffice/ure/lib/bootstrap.uno.so
>>     #9  0x000000080596af05 in cppu::WeakComponentImplHelperBase::dispose ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #10 0x00000008116e6244 in stoc_smgr::ORegistryServiceManager::dispose ()
>>        from /opt/lib/libreoffice/ure/lib/bootstrap.uno.so
>>     #11 0x000000080596a573 in cppu::WeakComponentImplHelperBase::release ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #12 0x00000008059482f6 in (anonymous namespace)::createTypeRegistry ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #13 0x00000008059487bf in
>>     cppu::defaultBootstrap_InitialComponentContext ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #14 0x0000000805948918 in
>>     cppu::defaultBootstrap_InitialComponentContext ()
>>        from
>>     /opt/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
>>     #15 0x000000080212f883 in
>>     desktop::Desktop::InitApplicationServiceManager ()
>>        from /opt/lib/libreoffice/program/libmergedlo.so
>>     #16 0x000000080211f362 in desktop::Desktop::Init () from
>>     /opt/lib/libreoffice/program/libmergedlo.so
>>     #17 0x0000000807622113 in InitVCL () from
>>     /opt/lib/libreoffice/program/libvcllo.so
>>     #18 0x0000000807623151 in ImplSVMain () from
>>     /opt/lib/libreoffice/program/libvcllo.so
>>     #19 0x00000008076232d5 in SVMain () from
>>     /opt/lib/libreoffice/program/libvcllo.so
>>     #20 0x000000080214942e in soffice_main () from
>>     /opt/lib/libreoffice/program/libmergedlo.so
>>     #21 0x0000000000400773 in main ()
>>
>> I do not blame the office@ team -- the port did not want to use
>> gcc-4.2.1, I forced it to. But I'd like to know, what is wrong with the
>> compiler shipped by FreeBSD-9.1 (and the only one, if WITHOUT_CLANG is
>> defined), that prevents building a healthy libreoffice?
>>
>> Is there a bug fixed in gcc-4.6? Or is it some (incorrect) assumption
>> made by libreoffice code? Thank you,
>
> Hi Mikhail,
>
> Libreoffice and openoffice have traditionally recommended that one use
> binary packages instead of building it from scratch.
>
> I'm sure you understand that our compiler in base is rather elderly,
> and that a project as insanely huge as Libreoffice is going to be
> highly sensitive to minute changes.  As a consequence, some very
> narrow criteria are chosen to make maintenance of the port possible.
>
> You are welcome to try with gcc-4.6, but the last I heard it will only
> build with clang.  Your mileage may vary, please let us know of
> success stories!

Just for the record, is find that it works fine for me with gcc-4.6.
9.1-STABLE on i386 system. Building it with the default compiler
results in a successful build, but the program would simply exit after
a few seconds with no error. The exist status was 0. No messages. When
I built with 4.6, it builds and runs fine, at least for the things
I've tried. (4.6 invoked by setting WITH_GCC.)
-- 
R. Kevin Oberman, Network Engineer
E-mail: rkoberman at gmail.com


More information about the freebsd-stable mailing list