Building libreoffice dies with logl at GLIBCXX_3.4

Steve Kargl sgk at troutmask.apl.washington.edu
Wed Feb 20 23:43:00 UTC 2013


On Thu, Feb 21, 2013 at 12:12:39AM +0100, Baptiste Daroussin wrote:
> On Wed, Feb 20, 2013 at 03:10:23PM -0800, Steve Kargl wrote:
> > On Thu, Feb 21, 2013 at 12:02:46AM +0100, Baptiste Daroussin wrote:
> > > On Wed, Feb 20, 2013 at 02:55:55PM -0800, Steve Kargl wrote:
> > > > Why is libreoffice looking for glibc?
> > > > 
> > > 
> > > It is not looking for glibc but libstdc++ it happends because you have mixed
> > > compilers on your system, meaning that some of the dependencies of libreoffice
> > > are not linked against the based libstdc++ while libreoffice is trying to link
> > > to it.
> > 
> > Which compilers?  I have removed all of base clang and completely
> > rebuilt this system with gcc.  The only compilers available are
> > base gcc and lang/gcc.
> 
> Some of the dependencies of libreoffice are being linked against
> libstdc++ that comes with base gcc while others are linked against
> libstdc++ from lang/gcc, and they are not compatible at some point.

Thanks for the explanation.  It would seem to me that if
editors/libreoffice/Makefile contains

.if defined(WITH_GCC)
USE_GCC=        4.6+
DISTFILES+=     bd30e9cf5523cdfc019b94f5e1d7fd19-cppunit-1.12.1.tar.gz:ext
CONFIGURE_ENV+= CXXCPP="${CPP}"
.else
.if exists(/usr/bin/clang) && ${OSVERSION} >= 900014
CC=             /usr/bin/clang
CPP=            /usr/bin/clang-cpp
CXX=            /usr/bin/clang++
CONFIGURE_ENV+= CXXCPP="${CPP}"
.else
# XXX Clang PR13308 (http://llvm.org/bugs/show_bug.cgi?id=13308)
BUILD_DEPENDS+= clang>=3.2:${PORTSDIR}/lang/clang
CC=             ${LOCALBASE}/bin/clang
CPP=            ${CC} -E
CXX=            ${LOCALBASE}/bin/clang++
CONFIGURE_ENV+= CXXCPP="${CXX} -E"
.endif

then textproc/clucene/Makefile should contain at least

.if defined(WITH_GCC)
USE_GCC=        4.6+
.endif

Although this may also be insufficient, because I just rebuilt
clucene with lang/gcc and it yield
ptop:kargl[217] ls *lucene*.so
libclucene-contribs-lib.so@     libclucene-shared.so@
libclucene-core.so@
laptop:kargl[218] ldd libclucene-contribs-lib.so | grep libstd
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x48c00000)
laptop:kargl[219] ldd libclucene-core.so | grep libstd
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x48c00000)
laptop:kargl[220] ldd libclucene-shared.so | grep libstd
        libstdc++.so.6 => /usr/local/lib/gcc46/libstdc++.so.6 (0x48208000)
which means clucene does not honor CXX etc.








-- 
Steve


More information about the freebsd-office mailing list