OSSystems / meta-browser

OpenEmbedded/Yocto BSP layer for Web Browsers
MIT License
185 stars 194 forks source link

gn-native: Compiler-rt-native libcxx-native only required for llvm/musl #537

Closed psaavedra closed 3 years ago

psaavedra commented 3 years ago

Issue: https://github.com/OSSystems/meta-browser/issues/535 Signed-off-by: Pablo Saavedra psaavedra@igalia.com

otavio commented 3 years ago

@kraj, this seems to add the issue, but it might impact #522. Could you take a look here and possibly merge this into your branch, so we merge it all together?

kraj commented 3 years ago

@psaavedra @otavio I have pushed the fixed into meta-clang hardknott and dunfell branches to remove these dependencies via dynamic layers. The patch for curl dependency is already in my pull request and the fix for SIGSTKSZ is also in the same pull request #522, if we now merge that pull request then we will be good.

@psaavedra can then verify build with latest hardknott of meta-clang and master meta-browser and report back. This pull request can be closed.

psaavedra commented 3 years ago

@psaavedra @otavio I have pushed the fixed into meta-clang hardknott and dunfell branches to remove these dependencies via dynamic layers. The patch for curl dependency is already in my pull request and the fix for SIGSTKSZ is also in the same pull request #522, if we now merge that pull request then we will be good.

For the record:

I have the same issue than https://github.com/OSSystems/meta-browser/issues/535:

NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'virtual/compilerlibs-native' (but virtual:native:/home/bot/yocto-browsers/sources/meta-clang/recipes-devtools/clang/compiler-rt_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libsdl-native
  virtual/libusb0-native
  virtual/mesa-native
ERROR: Required build target 'chromium-ozone-wayland' has no buildable providers.
Missing or unbuildable dependency chain was: ['chromium-ozone-wayland', 'gn-native', 'compiler-rt-native', 'virtual/compilerlibs-native']
bot@ci:~/yocto-browsers/sources/meta-browser$ git log -1
commit b400a16b4c51ae0eccd674bb6a83bb3b984ffae2 (HEAD, upstream/master)
Author: Khem Raj <raj.khem@gmail.com>
Date:   Thu Aug 12 17:45:48 2021 -0700

    chromium: Drop linux_use_bundled_binutils gn argument

    This was valid in gyp days, has been dropped when chromium moved to gn
    Fixes

    WARNING at the command-line "--args":1:1171: Build argument has no effect.
    The variable "linux_use_bundled_binutils_override" was set as a build argument
    but never appeared in a declare_args() block in any buildfile.

    Signed-off-by: Khem Raj <raj.khem@gmail.com>
bot@ci:~/yocto-browsers/sources/meta-clang$ git log -1
commit 6916a0ae8d3b9807e936b6cb30d038d97e7335b7 (HEAD -> hardknott, m/psaavedra/restore_weston-init_files, m/psaavedra/hardknott, m/psaavedra/fix_cog_0_10, m/psaavedra/fix, m/nightly, m/main, github/hardknott)
Author: Khem Raj <raj.khem@gmail.com>
Date:   Fri Aug 13 08:43:24 2021 -0700

    chromium,gn-native: Remove dependencies on libc++ runtime

    This only works with honister and newer

    Signed-off-by: Khem Raj <raj.khem@gmail.com>
kraj commented 3 years ago

the fix is pushed into meta-clang to remove these dependencies. Did you try latest meta-clang/hadknott ? this fix is not musl specific

psaavedra commented 3 years ago

this patch should not be needed with latest dunfell dunfell-clang12 and hardknott branches of meta-clang. Please try, if it does not work, lets fix it there and not here.

I'm testing with meta-clang pointing to fb84d0b51b424cf746f5a05a6a4bef96687180bd (HEAD of hardknott, right? ref: https://github.com/kraj/meta-clang/commits/hardknott) and meta-browser to b400a16b4c51ae0eccd674bb6a83bb3b984ffae2 (HEAD of master)

And I'm still getting this the dependency issue:

ERROR: Nothing PROVIDES 'virtual/compilerlibs-native' (but virtual:native:/home/bot/yocto-browsers/sources/meta-clang/recipes-devtools/clang/compiler-rt_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libsdl-native
  virtual/libusb0-native
  virtual/mesa-native
ERROR: Required build target 'chromium-ozone-wayland' has no buildable providers.
Missing or unbuildable dependency chain was: ['chromium-ozone-wayland', 'gn-native', 'compiler-rt-native', 'virtual/compilerlibs-native']
kraj commented 3 years ago

we should be at https://github.com/kraj/meta-clang/commit/fb84d0b51b424cf746f5a05a6a4bef96687180bd

psaavedra commented 3 years ago

@kraj something relevant:

# $DEPEND
#   _remove /home/bot/yocto-browsers/sources/meta-clang/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/gn-native_%.bbappend:3
#     "compiler-rt-native libcxx-native"
#
# $DEPENDS [8 operations]
#   set /home/bot/yocto-browsers/sources/poky/meta/conf/bitbake.conf:274
#     ""
#   set /home/bot/yocto-browsers/sources/poky/meta/conf/documentation.conf:137
#     [doc] "Lists a recipe's build-time dependencies (i.e. other recipe files)."
#   _prepend /home/bot/yocto-browsers/sources/poky/meta/classes/base.bbclass:80
#     "${BASEDEPENDS} "
#   append /home/bot/yocto-browsers/sources/poky/meta/classes/mime-xdg.bbclass:6
#     "desktop-file-utils"
#   _append /home/bot/yocto-browsers/sources/meta-python2/classes/pythonnative.bbclass:8
#     " python-native "
#   append /home/bot/yocto-browsers/sources/meta-browser/meta-chromium/recipes-browser/chromium/chromium.inc:28
#     "python-setuptools-native"
#   set /home/bot/yocto-browsers/sources/meta-browser/meta-chromium/recipes-browser/chromium/gn-native_92.0.4515.107.bb:30
#     "clang-native ninja-native"
#   _append[runtime-llvm] /home/bot/yocto-browsers/sources/meta-browser/meta-chromium/recipes-browser/chromium/gn-native_92.0.4515.107.bb:31
#     " compiler-rt-native libcxx-native"
# pre-expansion value:
#   "${BASEDEPENDS} clang-native ninja-native python-native  compiler-rt-native libcxx-native"
DEPENDS=" clang-native ninja-native python-native  compiler-rt-native libcxx-native"

apparently the _remove is not being applied.

psaavedra commented 3 years ago

I think there is a typo in https://github.com/kraj/meta-clang/commit/b8898db9ac2af21edd7544884830b9f52476898c#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3

s/DEPEND/DEPENDS/

psaavedra commented 3 years ago

I think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3

s/DEPEND/DEPENDS/

yes that is the reason.

kraj commented 3 years ago

i think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3

s/DEPEND/DEPENDS/

ah my bad !! Fixed now please update and try

psaavedra commented 3 years ago

i think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3 s/DEPEND/DEPENDS/

ah my bad !! Fixed now please update and try

the unbuildable dependency is not there anymore. It looks promising. I will let the build finish to confirm that everything works fine.

psaavedra commented 3 years ago

i think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3 s/DEPEND/DEPENDS/

ah my bad !! Fixed now please update and try

the unbuildable dependency is not there anymore. It looks promising. I will let the build finish to confirm that everything works fine.

Build task successfully ends. So let's close this MR and close the related issues as well. Thanks @kraj for your support.

kraj commented 3 years ago

i think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3 s/DEPEND/DEPENDS/

ah my bad !! Fixed now please update and try

the unbuildable dependency is not there anymore. It looks promising. I will let the build finish to confirm that everything works fine.

Build task successfully ends. So let's close this MR and close the related issues as well. Thanks @kraj for your support.

thanks for confirmation @psaavedra really appreciated. Can you also test on dunfell and see if it works there too ?

psaavedra commented 3 years ago

i think there is a typo in kraj/meta-clang@b8898db#diff-e1a63705af94277ce73db64f5c5dcd0e7eeb6f4ac19d2178a3942fb239a58cfaL3 s/DEPEND/DEPENDS/

ah my bad !! Fixed now please update and try

the unbuildable dependency is not there anymore. It looks promising. I will let the build finish to confirm that everything works fine.

Build task successfully ends. So let's close this MR and close the related issues as well. Thanks @kraj for your support.

thanks for confirmation @psaavedra really appreciated. Can you also test on dunfell and see if it works there too ?

Confirmed. The unbuildable dependency issue is not there, in dunfell, either.