Created attachment 875412 [details] build log Since c++17 std::unary_function is removed and clang/gcc changing to >c++17 standard nowadays then lucene++ 3.0.7 now fails to compile (tested with clang 17.0.5) with error (full log is attached): (...) FAILED: src/core/CMakeFiles/lucene++.dir/analysis/Token.cpp.o /usr/lib/ccache/bin/clang++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DLPP_BUILDING_LIB -Dlucene___EXPORTS -I/tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/include -I/tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/include -I/tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/src/core/include -O2 -pipe -march=native -Wno-unused-command-line-argument -fcf-protection=full -fPIC -fPIC -Qunused-arguments -include "/tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/src/core/cotire/lucene++_CXX_prefix.hxx" -MD -MT src/core/CMakeFiles/lucene++.dir/analysis/Token.cpp.o -MF src/core/CMakeFiles/lucene++.dir/analysis/Token.cpp.o.d -o src/core/CMakeFiles/lucene++.dir/analysis/Token.cpp.o -c /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/src/core/analysis/Token.cpp In file included from <built-in>:3: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/src/core/cotire/lucene++_CXX_prefix.hxx:4: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/src/core/cotire/lucene++_CXX_prefix.cxx:4: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/src/core/include/LuceneInc.h:20: /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/include/Lucene.h:131:26: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'? 131 | struct luceneHash : std::unary_function<TYPE, std::size_t> { | ~~~~~^~~~~~~~~~~~~~ | __unary_function /usr/include/c++/v1/__functional/unary_function.h:46:1: note: '__unary_function' declared here 46 | using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>; | ^ In file included from <built-in>:3: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/src/core/cotire/lucene++_CXX_prefix.hxx:4: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7_build/src/core/cotire/lucene++_CXX_prefix.cxx:4: In file included from /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/src/core/include/LuceneInc.h:20: /tmp/portage/dev-cpp/lucene++-3.0.7-r3/work/LucenePlusPlus-rel_3.0.7/include/Lucene.h:138:30: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'? 138 | struct luceneWeakHash : std::unary_function<TYPE, std::size_t> { | ~~~~~^~~~~~~~~~~~~~ | __unary_function /usr/include/c++/v1/__functional/unary_function.h:46:1: note: '__unary_function' declared here 46 | using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>; | ^ 2 errors generated. (...)
Created attachment 875413 [details] emerge --info
Created attachment 875414 [details] lucene++-3.0.8.ebuild I manually modified current ebuild to the latest version (3.0.8) and it compiles fine so my advise is to just update dev-cpp/lucene++ to 3.0.8 version.
Created attachment 875421 [details, diff] remove-unary-function.patch Alternatively to version update, feel free to add this patch to current version so it just removed this deleted feature