Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2013 14:15:03 -0500
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "Mikhail T." <mi+thun@aldan.algebra.com>, office@freebsd.org, stable@freebsd.org, Chris Rees <utisoft@gmail.com>
Subject:   Re: Why can't gcc-4.2.1 build usable libreoffice?
Message-ID:  <5123CF37.7000506@FreeBSD.org>
In-Reply-To: <CAJ-Vmok2HFaU4QQHBEaO0iL3HE4pLpA=iFa-xfqQtOk9JewioQ@mail.gmail.com>
References:  <511CED39.2010909@aldan.algebra.com> <CADLo83-a7yqkFhgMinGiookjvgtFuTVeGQobOepuHDCeH_wsog@mail.gmail.com> <51238AE9.20205@aldan.algebra.com> <CADLo83-FoLrZGgkDZjjQ-jb-fcZNS3isn-F=zbd9pVkkmXQZUQ@mail.gmail.com> <5123ADEC.2040103@aldan.algebra.com> <CAJ-Vmok2HFaU4QQHBEaO0iL3HE4pLpA=iFa-xfqQtOk9JewioQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2013-02-19 12:23:07 -0500, Adrian Chadd wrote:
> In any case, why hasn't that port been blessed with the "requires
> gcc 4.6+" port option/dependency? I thought that's why we _have_
> that.

The short answer is we cannot support gcc 4.6+ unless we have a
dedicated *ports* compiler.

Okay, it seems to be a FAQ now and I'll try to explain as much as I
can.  If you have binaries compiled with g++ from ports tree, those
binaries should not be linked with binaries that are compiled with the
base compiler because they pull in different libstdc++ and friends and
they have different ABIs.  Also, some C++ libraries are very
"sensitive" to standard C++ libraries, e.g., Boost.  On top of that,
UNO C++ bridge is really tightly coupled with C++ runtime. [1]
Some libraries come with configuration headers and they are usually
coupled with *build* environment, not *runtime* environment.  So on
and so forth.  You see, that's why we had numerous build failure
reports for LibreOffice in C++ unit tests. [2]

Traditionally, OpenOffice.org builds everything from bundled libraries
and headers so that it is almost self-contained.  For example, STLport
is used as a C++ STL library by default.  This model makes perfect
sense for a stand-alone downloadable package because the build
environment may be very different from runtime environment.  LO has
kinda opposite philosophy, i.e., modular is better.  This model works
well if users are using prebuilt packages, i.e., Linux distros. [3]

What do we go from here?  I don't know.  One thing I know for sure is
we cannot support every possible build/runtime environment.

Feel free to suggest your ideas and thoughts.

Jung-uk Kim

1.  http://wiki.openoffice.org/wiki/Uno

2.  Most of them are actually legit but I gave up on explaining why
and turned them off by default.  If you had build failure before, now
you may experience runtime failures instead, sorry.

3.  We may go back to monolithic build model, perhaps.  Not sure.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQEcBAEBAgAGBQJRI883AAoJECXpabHZMqHO+6gH/2uvg/KTlsHKuxGG1XGPjJct
icKy/nsCJK9XkkNaA3O7Zkpiddb1y2TNf9WW+/NmttfsnZ2aMos1jBnfIBr9l+ny
Gw8V09JXOtUj1Ew3QZRF0efXz0sB7C37jEEeJWgF6IB4spq+BLAriCKShsa8bh+p
PTwbE+ooib5Pzyf9NWIHzATiykeC1pSHz+3lnRhpNv9TFawcHsGyOfJRmr37eefO
jodUWXzbJivCMFteWBaZwUHJkWVfMq4h+sdUyui0dP+T1EULQPpafNNkFkPcHthA
dZzFfYGKgUjqn7PfO4B8wK5wqb/mO1rxgQ7NPQMla30PCN6iy9mNCFnMaR/nrzw=
=PgIy
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5123CF37.7000506>