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-ports
mailing list