WebPlatformForEmbedded / WPEBackend-rdk

BSD 2-Clause "Simplified" License
8 stars 38 forks source link

WPEBackend-rdk fails to build with wpebackend 2.24 & libwpe 1.2 #33

Closed miikeat closed 4 years ago

miikeat commented 5 years ago

I try to build meta-webkit with wpebackend 2.24 & libwpe 1.2 but since these versions WPEBackend-rdk fails to build:

With version 1.20180925:

ERROR: wpebackend-rdk-1.20180925-r0 do_configure: Function failed: do_configure (log file is located at .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/temp/log.do_configure.16350)
ERROR: Logfile of failure stored in: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/temp/log.do_configure.16350
Log data follows:
| DEBUG: Executing shell function do_configure
| -- The C compiler identification is GNU 8.2.0
| -- The CXX compiler identification is GNU 8.2.0
| -- Check for working C compiler: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
| -- Check for working C compiler: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -- works
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Check for working CXX compiler: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
| -- Check for working CXX compiler: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Found PkgConfig: .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/bin/pkg-config (found version "0.29.2")
| CMake Error at .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
|   Could NOT find WPE (missing: WPE_INCLUDE_DIRS WPE_LIBRARIES)
| Call Stack (most recent call first):
|   .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
|   cmake/FindWPE.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
|   CMakeLists.txt:27 (find_package)
| 
| 
| -- Configuring incomplete, errors occurred!

Same happens with current master branch:

ERROR: wpebackend-rdk-gitAUTOINC-r0 do_configure: Function failed: do_configure (log file is located at .../wpebackend-rdk/gitAUTOINC-r0/temp/log.do_configure.16461)
ERROR: Logfile of failure stored in: .../wpebackend-rdk/gitAUTOINC-r0/temp/log.do_configure.16461
Log data follows:
| DEBUG: Executing shell function do_configure
| -- The C compiler identification is GNU 8.2.0
| -- The CXX compiler identification is GNU 8.2.0
| -- Check for working C compiler: .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
| -- Check for working C compiler: .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -- works
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Check for working CXX compiler: .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
| -- Check for working CXX compiler: .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Found PkgConfig: .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/pkg-config (found version "0.29.2")
| CMake Error at .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
|   Could NOT find WPE (missing: WPE_INCLUDE_DIRS WPE_LIBRARIES)
| Call Stack (most recent call first):
|   .../wpebackend-rdk/gitAUTOINC-r0/recipe-sysroot-native/usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
|   cmake/FindWPE.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
|   CMakeLists.txt:27 (find_package)
| 
| 
| -- Configuring incomplete, errors occurred!

A more details can be found over here: https://github.com/Igalia/meta-webkit/pull/89

@philn also pointed out that probably this line might be the cause: https://github.com/WebPlatformForEmbedded/WPEBackend-rdk/blob/master/cmake/FindWPE.cmake#L32

According to this table https://wpewebkit.org/release/schedule/ (See Compatible Components) if WPEBackend-rdk is inteded to work with wpewebkit 2.24 and libwpe 1.2 then this line should probably look like this:

pkg_check_modules(PC_WPE QUIET wpe-1.0)

But I guess then it wouldn't work anymore with older versions of wpewebkit and libwpe!?!?

trini commented 5 years ago

Note that line 40 also needs to be changed to "wpe-1.0" as well.

macpijan commented 5 years ago

If anyone is interested - the diff to get this to compile:


diff --git a/cmake/FindWPE.cmake b/cmake/FindWPE.cmake
index 7f4ffd21cb34..a0624817630f 100644
--- a/cmake/FindWPE.cmake
+++ b/cmake/FindWPE.cmake
@@ -29,7 +29,7 @@
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 find_package(PkgConfig)
-pkg_check_modules(PC_WPE QUIET wpe-0.2)
+pkg_check_modules(PC_WPE QUIET wpe-1.0)

 find_path(WPE_INCLUDE_DIRS
     NAMES wpe/wpe.h
@@ -37,7 +37,7 @@ find_path(WPE_INCLUDE_DIRS
 )

 find_library(WPE_LIBRARIES
-    NAMES wpe-0.2
+    NAMES wpe-1.0
     HINTS ${PC_WPE_LIBDIR} ${PC_WPE_LIBRARY_DIRS}
 )
``
woutervanh commented 4 years ago

As I committed a patch, this one can be closed. Indeed, older versions of wpewebkit and libwpe will suffer, but what would be the point in keeping this backward-compatible? If people want an old version, they still can use an older version of this backend too...

otavio commented 4 years ago

Agreed. This also avoid hackish code for no good reason.