google / oss-fuzz

OSS-Fuzz - continuous fuzzing for open source software.
https://google.github.io/oss-fuzz
Apache License 2.0
10.59k stars 2.25k forks source link

sqlite3 doesn't build. #12709

Closed mvanotti closed 1 week ago

mvanotti commented 1 week ago

It seems like after sqlite3's commit d8c0e0184226bdae, configure no longer accepts the --enable-shared flag.

This flag was added in PR #10397 to add support for fuzz introspector.

mvanotti commented 1 week ago

This is the relevant part of the error log:

$  python ./infra/helper.py build_fuzzers --sanitizer=address --architecture=x86_64 sqlite3
---------------------------------------------------------------
+ mkdir bld
+ cd bld
+ export ASAN_OPTIONS=detect_leaks=0
+ ASAN_OPTIONS=detect_leaks=0
+ export 'CFLAGS=-O1   -fno-omit-frame-pointer   -gline-tables-only   -Wno-error=enum-constexpr-conversion   -Wno-error=incompatible-function-pointer-types   -Wno-error=int-conversion   -Wno-error=deprecated-declar
ations   -Wno-error=implicit-function-declaration   -Wno-error=implicit-int   -Wno-error=vla-cxx-extension   -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsaniti
ze=fuzzer-no-link -DSQLITE_MAX_LENGTH=128000000                -DSQLITE_MAX_SQL_LENGTH=128000000                -DSQLITE_MAX_MEMORY=25000000                -DSQLITE_PRINTF_PRECISION_LIMIT=1048576                -DS
QLITE_DEBUG=1                -DSQLITE_MAX_PAGE_COUNT=16384'
+ CFLAGS='-O1   -fno-omit-frame-pointer   -gline-tables-only   -Wno-error=enum-constexpr-conversion   -Wno-error=incompatible-function-pointer-types   -Wno-error=int-conversion   -Wno-error=deprecated-declarations 
  -Wno-error=implicit-function-declaration   -Wno-error=implicit-int   -Wno-error=vla-cxx-extension   -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzz
er-no-link -DSQLITE_MAX_LENGTH=128000000                -DSQLITE_MAX_SQL_LENGTH=128000000                -DSQLITE_MAX_MEMORY=25000000                -DSQLITE_PRINTF_PRECISION_LIMIT=1048576                -DSQLITE_D
EBUG=1                -DSQLITE_MAX_PAGE_COUNT=16384'
+ ../configure --enable-shared=no
Host System...x86_64-pc-linux-gnu
Build System...x86_64-pc-linux-gnu
C compiler... clang -O1   -fno-omit-frame-pointer   -gline-tables-only   -Wno-error=enum-constexpr-conversion   -Wno-error=incompatible-function-pointer-types   -Wno-error=int-conversion   -Wno-error=deprecated-dec
larations   -Wno-error=implicit-function-declaration   -Wno-error=implicit-int   -Wno-error=vla-cxx-extension   -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsan
itize=fuzzer-no-link -DSQLITE_MAX_LENGTH=128000000                -DSQLITE_MAX_SQL_LENGTH=128000000                -DSQLITE_MAX_MEMORY=25000000                -DSQLITE_PRINTF_PRECISION_LIMIT=1048576                
-DSQLITE_DEBUG=1                -DSQLITE_MAX_PAGE_COUNT=16384 
C++ compiler... clang++ -O1   -fno-omit-frame-pointer   -gline-tables-only   -Wno-error=enum-constexpr-conversion   -Wno-error=incompatible-function-pointer-types   -Wno-error=int-conversion   -Wno-error=deprecated
-declarations   -Wno-error=implicit-function-declaration   -Wno-error=implicit-int   -Wno-error=vla-cxx-extension   -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -
fsanitize=fuzzer-no-link -stdlib=libc++ 
Build C compiler...cc
Checking for stdlib.h...ok
Error: Unknown option --enable-shared
Try: 'configure --help' for options
ERROR:__main__:Building fuzzers failed.
DavidKorczynski commented 1 week ago

Added a fix here: https://github.com/google/oss-fuzz/pull/12710

However, a failed build is not as such an OSS-Fuzz issue because more or less at any moment there are some projects failing builds. There is a build status list here https://oss-fuzz-build-logs.storage.googleapis.com/index.html or https://introspector.oss-fuzz.com/indexing-overview