Bug 144100

Summary: [EFL] Build failure, linker does not find libXext.
Product: WebKit Reporter: Doug Newgard <scimmia22>
Component: New BugsAssignee: Hyungwook Lee <hyungwook.lee>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, gyuyoung.kim, hyungwook.lee, scimmia22
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
none
Patch none

Description Doug Newgard 2015-04-23 08:53:59 PDT
Currently the build process fails for me in Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp because of the call to XSetExtensionErrorHandler. The problem is in Source/WebKit2/PlatformEfl.cmake, currently lines 342-350:

if (ENABLE_ECORE_X)
    list(APPEND WebProcess_LIBRARIES
        ${ECORE_X_LIBRARIES}
        ${X11_Xext_LIB}
    )
    list(APPEND WebKit2_LIBRARIES
        ${ECORE_X_LIBRARIES}
    )
endif ()

The Xext libraries get added to WebProcess_LIBRARIES, but the source file is in WebKit2_SOURCES (line 212). Either WebProcessMainEfl needs to be in WebProcess_SOURCES or the Xext libraries need to be added to WebKit2_LIBRARIES.
Comment 1 Hyungwook Lee 2015-05-19 21:28:21 PDT
Created attachment 253424 [details]
patch
Comment 2 Gyuyoung Kim 2015-05-19 21:33:42 PDT
One question, I wonder if we need to keep ${X11_Xext_LIB} in WebProcess_LIBRARIES.


if (ENABLE_ECORE_X)
    list(APPEND WebProcess_LIBRARIES
        ${ECORE_X_LIBRARIES}
        ${X11_Xext_LIB}

endif ()
Comment 3 Hyungwook Lee 2015-05-19 22:06:57 PDT
WebProcessMainEfl.cpp is listed in WebKit2_SOURCES.
So I think we need to put X11_Xext_LIB into WebKit2_LIBRARIES to fix "undefined reference to 'XSetExtensionErrorHandler'" linking error.

We need to move WebProcessMainEfl.cpp from WebKit2_SOURCES list to WebProcess_SOURCES list if we want to keep X11_Xext_LIB in WebProcess_LIBRARIES.

I think to keep WebProcessMainEfl.cpp in WebKit2_SOURCES list is looks better.
Comment 4 Gyuyoung Kim 2015-05-19 22:32:49 PDT
(In reply to comment #3)

> I think to keep WebProcessMainEfl.cpp in WebKit2_SOURCES list is looks
> better.

I agree with it. As you know, *WebKit2_SOURCES* was originated only for WebProcess executable file as our MiniBrowser executable. So when WebProcessMainEfl.cpp is only used for WebProcess executable, I also think we can move it to WebProcess_SOURCES.

If we don't need to keep to ${X11_Xext_LIB} in WebProcess_LIBRARIES anymore, let's remove it there. Do you agree ?


if (ENABLE_ECORE_X)
    list(APPEND WebProcess_LIBRARIES
        ${ECORE_X_LIBRARIES}
        ${X11_Xext_LIB}

endif ()
Comment 5 Gyuyoung Kim 2015-05-19 22:38:39 PDT
(In reply to comment #4)
> (In reply to comment #3)
> 
> > I think to keep WebProcessMainEfl.cpp in WebKit2_SOURCES list is looks
> > better.
> 
> I agree with it. As you know, *WebKit2_SOURCES* was originated only for
> WebProcess executable file as our MiniBrowser executable.

s/WebKit2_SOURCES/WebProcess_SOURCES/g
Comment 6 Hyungwook Lee 2015-05-20 02:18:32 PDT
Created attachment 253435 [details]
Patch
Comment 7 Gyuyoung Kim 2015-05-20 02:21:58 PDT
Comment on attachment 253435 [details]
Patch

Thanks Hyungwook !
Comment 8 WebKit Commit Bot 2015-05-20 03:12:15 PDT
Comment on attachment 253435 [details]
Patch

Clearing flags on attachment: 253435

Committed r184632: <http://trac.webkit.org/changeset/184632>
Comment 9 WebKit Commit Bot 2015-05-20 03:12:20 PDT
All reviewed patches have been landed.  Closing bug.