Hello. I want to try to run oss-fuzz tests by myself, but i found no info about it. I found some scripts in the "bin" folder, like oss-fuzz-setup.sh and oss-fuzz-build.sh, and found that I should use clang, but I found nothing about the environment. I can build LibreOffice with clang, but if i run oss-fuzz-build, i get a lot of errors after postprocess step
What environment should i use and how should i run fuzzing correctly?
/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.fuzzer-x86_64.a(FuzzerDataFlowTrace.cpp.o):function fuzzer::BlockCoverage::AppendCoverage(std::istream&): error: undefined reference to 'vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.fuzzer-x86_64.a(FuzzerDataFlowTrace.cpp.o):function fuzzer::BlockCoverage::AppendCoverage(std::istream&): error: undefined reference to 'vtable for std::basic_streambuf<char, std::char_traits<char> >'
I use clang 15, LibreOffice builds successfully without fuzzing
I get errors like this:
/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.fuzzer-x86_64.a(FuzzerDataFlowTrace.cpp.o):function fuzzer::BlockCoverage::AppendCoverage(std::istream&): error: undefined reference to 'VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.fuzzer-x86_64.a(FuzzerDataFlowTrace.cpp.o):function fuzzer::BlockCoverage::AppendCoverage(std::istream&): error: undefined reference to 'vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.fuzzer-x86_64.a(FuzzerDataFlowTrace.cpp.o):function fuzzer::BlockCoverage::AppendCoverage(std::istream&): error: undefined reference to 'vtable for std::basic_streambuf<char, std::char_traits<char> >'