Created attachment 53622 [details] Patch fixing this issue JSDOMWindowCustom.cpp tries to include the generated file "JSDatabase.h" even when --disable-database is specified. Build log: <snip> CXX WebCore/bindings/js/libwebkit_1_0_la-JSCSSStyleDeclarationCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCSSValueCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCallbackData.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCanvasRenderingContextCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCanvasRenderingContext2DCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSClipboardCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSConsoleCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCoordinatesCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCustomPositionCallback.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCustomPositionErrorCallback.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCustomVoidCallback.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSCustomXPathNSResolver.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSDOMBinding.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSDOMFormDataCustom.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSDOMGlobalObject.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSDOMWindowBase.lo CXX WebCore/bindings/js/libwebkit_1_0_la-JSDOMWindowCustom.lo WebCore/bindings/js/JSDOMWindowCustom.cpp:39:24: error: JSDatabase.h: No such file or directory make[1]: *** [WebCore/bindings/js/libwebkit_1_0_la-JSDOMWindowCustom.lo] Error 1 make[1]: Leaving directory `/home/michael/tmp/webkit-gtk' make: *** [all] Error 2 This is fixed by the attached patch.
It looks like this is not the only issue preventing webkit from being built with --disable-database. ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::SQLiteTransaction(WebCore::SQLiteDatabase&, bool)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnDouble(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLResultOk' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindInt64(int, long)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::executeCommand()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::executeCommand(WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::~SQLiteStatement()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::~SQLiteDatabase()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::SQLiteDatabase()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::SQLiteStatement(WebCore::SQLiteDatabase&, WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnValue(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindDouble(int, double)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindNull(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLResultRow' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::open(WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::commit()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::step()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::prepare()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteFileSystem::appendDatabaseFileNameToPath(WebCore::String const&, WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::~SQLiteTransaction()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnInt64(int)' collect2: ld returned 1 exit status make[1]: *** [Programs/unittests/testhttpbackend] Error 1 make[1]: *** Waiting for unfinished jobs.... ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::SQLiteTransaction(WebCore::SQLiteDatabase&, bool)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnDouble(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLResultOk' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindInt64(int, long)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::executeCommand()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::executeCommand(WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::~SQLiteStatement()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::~SQLiteDatabase()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::SQLiteDatabase()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::SQLiteStatement(WebCore::SQLiteDatabase&, WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnValue(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindDouble(int, double)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::bindNull(int)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLResultRow' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteDatabase::open(WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::commit()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::step()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::prepare()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteFileSystem::appendDatabaseFileNameToPath(WebCore::String const&, WebCore::String const&)' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteTransaction::~SQLiteTransaction()' ./.libs/libwebkit-1.0.so: undefined reference to `WebCore::SQLiteStatement::getColumnInt64(int)' collect2: ld returned 1 exit status make[1]: *** [Programs/GtkLauncher] Error 1 I think this is because offline-web-applications is dependent on database, but I'm not quite sure how to fix this one.
Created attachment 53645 [details] Partially fix build with --disable-database. Update patch for style requirements.
Comment on attachment 53645 [details] Partially fix build with --disable-database. Thanks!
Comment on attachment 53645 [details] Partially fix build with --disable-database. Clearing flags on attachment: 53645 Committed r58145: <http://trac.webkit.org/changeset/58145>
All reviewed patches have been landed. Closing bug.
This bug is not yet fixed because of the second issue I mentioned regarding linking failures.
The link errors are due to GeolocationPositionCache depending on SQLite platform support. To fix this we could either include the SQLite platform sources if ENABLE(GEOLOCATION) or make GeolocationPositionCache support conditional on ENABLE(DATABASE). I'm not sure which would be more appropriate.
Patch is probably quite out of date. Let's reopen if this is still an issue and post a new fix.