Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
undefined reference to JSC::IdentifierTable::~IdentifierTable() on EF…
…L port

https://bugs.webkit.org/show_bug.cgi?id=80282

Reviewed by Antonio Gomes.

.:

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* CMakeLists.txt: Set CMAKE_LINK_INTERFACE_LIBRARIES to an empty
list to prevent implicit transitive library dependencies from
being created by default.

Source/WebCore:

No new tests, this is a buildsystem change.

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
from it.
* PlatformEfl.cmake: Explicitly link against libjpeg and libpng.

Tools:

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* DumpRenderTree/efl/CMakeLists.txt: Do not link directly to WTF,
as the other libraries have the needed symbols. Explicitly link
against fontconfig.

Canonical link: https://commits.webkit.org/97608@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Raphael Kubo da Costa committed Mar 7, 2012
1 parent 254cd9f commit 89be0d0
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 2 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Expand Up @@ -46,6 +46,9 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

# Do not create transitive library dependencies by default
SET(CMAKE_LINK_INTERFACE_LIBRARIES "")

INCLUDE(WebKitMacros)
INCLUDE(WebKitFS)
INCLUDE(WebKitHelpers)
Expand Down
19 changes: 19 additions & 0 deletions ChangeLog
@@ -1,3 +1,22 @@
2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>

undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
https://bugs.webkit.org/show_bug.cgi?id=80282

Reviewed by Antonio Gomes.

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* CMakeLists.txt: Set CMAKE_LINK_INTERFACE_LIBRARIES to an empty
list to prevent implicit transitive library dependencies from
being created by default.

2012-03-05 Ryosuke Niwa <rniwa@webkit.org>

Perf-o-matic should memcache dashboard images
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/CMakeLists.txt
Expand Up @@ -2352,7 +2352,7 @@ SET(IDL_ATTRIBUTES_FILE ${WEBCORE_DIR}/bindings/scripts/IDLAttributes.txt)

INCLUDE(${WEBCORE_DIR}/UseJSC.cmake)

SET(WebCore_LIBRARIES ${JavaScriptCore_LIBRARY_NAME})
SET(WebCore_LIBRARIES ${WTF_LIBRARY_NAME} ${JavaScriptCore_LIBRARY_NAME})
SET(WebCore_LINK_FLAGS "")
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()

Expand Down
21 changes: 21 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,24 @@
2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>

undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
https://bugs.webkit.org/show_bug.cgi?id=80282

Reviewed by Antonio Gomes.

No new tests, this is a buildsystem change.

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
from it.
* PlatformEfl.cmake: Explicitly link against libjpeg and libpng.

2012-03-06 James Robinson <jamesr@chromium.org>

[chromium] REGRESSION(109469): WebGL printing busted
Expand Down
2 changes: 2 additions & 0 deletions Source/WebCore/PlatformEfl.cmake
Expand Up @@ -205,8 +205,10 @@ LIST(APPEND WebCore_LIBRARIES
${EVAS_LIBRARIES}
${FREETYPE_LIBRARIES}
${ICU_LIBRARIES}
${JPEG_LIBRARY}
${LIBXML2_LIBRARIES}
${LIBXSLT_LIBRARIES}
${PNG_LIBRARY}
${SQLITE_LIBRARIES}
${Glib_LIBRARIES}
${LIBSOUP24_LIBRARIES}
Expand Down
19 changes: 19 additions & 0 deletions Tools/ChangeLog
@@ -1,3 +1,22 @@
2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>

undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
https://bugs.webkit.org/show_bug.cgi?id=80282

Reviewed by Antonio Gomes.

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

* DumpRenderTree/efl/CMakeLists.txt: Do not link directly to WTF,
as the other libraries have the needed symbols. Explicitly link
against fontconfig.

2012-03-06 Dean Jackson <dino@apple.com>

filter-build-webkit needs more filters
Expand Down
3 changes: 2 additions & 1 deletion Tools/DumpRenderTree/efl/CMakeLists.txt
Expand Up @@ -23,7 +23,6 @@ SET(ImageDiff_SOURCES
)

SET(DumpRenderTree_LIBRARIES
${WTF_LIBRARY_NAME}
${JavaScriptCore_LIBRARY_NAME}
${WebCore_LIBRARY_NAME}
${WebKit_LIBRARY_NAME}
Expand All @@ -32,6 +31,7 @@ SET(DumpRenderTree_LIBRARIES
${EDJE_LIBRARIES}
${EFLDEPS_LIBRARIES}
${EVAS_LIBRARIES}
${FONTCONFIG_LIBRARIES}
${LIBXML2_LIBRARIES}
${LIBXSLT_LIBRARIES}
${SQLITE_LIBRARIES}
Expand Down Expand Up @@ -92,6 +92,7 @@ SET(DumpRenderTree_INCLUDE_DIRECTORIES
${EDJE_INCLUDE_DIRS}
${EFLDEPS_INCLUDE_DIRS}
${EVAS_INCLUDE_DIRS}
${FONTCONFIG_INCLUDE_DIR}
${Glib_INCLUDE_DIRS}
${LIBSOUP24_INCLUDE_DIRS}
)
Expand Down

0 comments on commit 89be0d0

Please sign in to comment.