Why can't gcc-4.2.1 build usable libreoffice?

Chris Rees crees at FreeBSD.org
Mon Feb 18 20:27:28 UTC 2013


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!

Chris


More information about the freebsd-office mailing list