Bug 37761

Summary: WebKit won't build with --disable-database
Product: WebKit Reporter: Michael Forney <mforney>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: commit-queue, mrobinson, ssiloti
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch fixing this issue
none
Partially fix build with --disable-database. none

Michael Forney
Reported 2010-04-17 20:46:43 PDT
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.
Attachments
Patch fixing this issue (908 bytes, patch)
2010-04-17 20:46 PDT, Michael Forney
no flags
Partially fix build with --disable-database. (1.58 KB, patch)
2010-04-18 16:49 PDT, Michael Forney
no flags
Michael Forney
Comment 1 2010-04-17 22:32:46 PDT
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.
Michael Forney
Comment 2 2010-04-18 16:49:01 PDT
Created attachment 53645 [details] Partially fix build with --disable-database. Update patch for style requirements.
Adam Barth
Comment 3 2010-04-22 13:03:00 PDT
Comment on attachment 53645 [details] Partially fix build with --disable-database. Thanks!
WebKit Commit Bot
Comment 4 2010-04-22 21:20:10 PDT
Comment on attachment 53645 [details] Partially fix build with --disable-database. Clearing flags on attachment: 53645 Committed r58145: <http://trac.webkit.org/changeset/58145>
WebKit Commit Bot
Comment 5 2010-04-22 21:20:14 PDT
All reviewed patches have been landed. Closing bug.
Michael Forney
Comment 6 2010-04-23 21:49:22 PDT
This bug is not yet fixed because of the second issue I mentioned regarding linking failures.
Steven Siloti
Comment 7 2010-09-13 21:53:10 PDT
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.
Martin Robinson
Comment 8 2014-04-08 18:36:25 PDT
Patch is probably quite out of date. Let's reopen if this is still an issue and post a new fix.
Note You need to log in before you can comment on or make changes to this bug.