Build error around CLucene with Clang 19 and --enable-pch=full

Ilmari Lauhakangas ilmari.lauhakangas at libreoffice.org
Wed Jan 22 07:59:48 UTC 2025


In addition to the issue described in 
https://gerrit.libreoffice.org/c/core/+/148946 I am also getting this 
CLucene thing sometimes with Clang 19 and --enable-pch=full

Ilmari

[LNK] Library/libclucene.so
mold: error: undefined symbol: typeinfo for lucene::index::TermEnum
 >>> referenced by MultiSegmentReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/MultiSegmentReader.o
 >>> referenced by SegmentTermEnum.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermEnum.o
 >>> referenced by FilteredTermEnum.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/search/FilteredTermEnum.o
mold: error: undefined symbol: typeinfo for lucene::index::TermPositions
 >>> referenced by SegmentTermPositions.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermPositions.o
 >>> referenced by SegmentTermPositions.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermPositions.o
 >>> referenced by SegmentTermPositions.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermPositions.o
 >>> referenced 5 more times
mold: error: undefined symbol: vtable for lucene::search::ScoreDocComparator
 >>> referenced by precompiled_clucene.cxx
 >>> 
/home/user/libreoffice/workdir/CxxObject/external/clucene/inc/pch/precompiled_clucene.o:(lucene::search::ScoreDocComparator::ScoreDocComparator())
mold: error: undefined symbol: typeinfo for lucene::search::Weight
 >>> referenced by TermQuery.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/search/TermQuery.o
 >>> referenced by PhraseQuery.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/search/PhraseQuery.o
 >>> referenced by MatchAllDocsQuery.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/search/MatchAllDocsQuery.o
 >>> referenced 4 more times
mold: error: undefined symbol: vtable for lucene::search::Weight
 >>> referenced by PhraseQuery.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/search/PhraseQuery.o:(lucene::search::Weight::Weight())
mold: error: undefined symbol: vtable for lucene::index::TermDocs
 >>> referenced by SegmentTermDocs.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermDocs.o:(lucene::index::TermDocs::TermDocs())
mold: error: undefined symbol: vtable for lucene::index::TermEnum
 >>> referenced by MultiSegmentReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/MultiSegmentReader.o:(lucene::index::TermEnum::TermEnum())
 >>> referenced by MultiSegmentReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/MultiSegmentReader.o:(lucene::index::TermEnum::TermEnum())
mold: error: undefined symbol: typeinfo for lucene::util::AbstractDeletor
 >>> referenced by SegmentReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentReader.o
 >>> referenced by AnalysisHeader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/analysis/AnalysisHeader.o
 >>> referenced by FieldsReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/FieldsReader.o
 >>> referenced 1 more times
mold: error: undefined symbol: vtable for lucene::util::AbstractDeletor
 >>> referenced by AnalysisHeader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/analysis/AnalysisHeader.o:(lucene::util::AbstractDeletor::AbstractDeletor())
mold: error: undefined symbol: typeinfo for lucene::index::TermDocs
 >>> referenced by MultiSegmentReader.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/MultiSegmentReader.o
 >>> referenced by SegmentTermDocs.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/index/SegmentTermDocs.o
mold: error: undefined symbol: vtable for lucene::store::NoLock
 >>> referenced by LockFactory.cpp
 >>> 
/home/user/libreoffice/workdir/GenCxxObject/UnpackedTarball/clucene/src/core/CLucene/store/LockFactory.o:(lucene::store::NoLock::NoLock())
clang++: error: linker command failed with exit code 1 (use -v to see 
invocation)
make[1]: *** 
[/home/user/libreoffice/external/clucene/Library_clucene.mk:10: 
/home/user/libreoffice/instdir/program/libclucene.so] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:298: build] Error 2
Command exited with non-zero status 2
4137.78user 214.98system 9:49.79elapsed 738%CPU (0avgtext+0avgdata 
580548maxresident)k
1892976inputs+6661136outputs (358major+77442403minor)pagefaults 0swaps


More information about the LibreOffice mailing list