hi
I am playing imx8qm boad( iwave board).
for Freescale default guide, we use chromium-ozone-wayland but chrome only can run in root user. there is a warning, I need manually close it, we can not be acceptable in our product. so we have to run chrome with non-root user. but can NOT. before I played the imx8mq board (maaxboard),we had the same issue(I asked here before).
therefore I changed to chrome-x11, I solved the issue in imx8mq board (maaxboard).
now I am playing imx8qm boad( iwave board), the same issue coming again.
so I have to change to chrome-x11,
but I can not pass the compilation, the error is below:
any ideas about :
1. chromium-ozone-wayland for non-user can run? or
2. chromium-x11 can pass the compilation?
--------
partially of my local.conf
---
MACHINE ??= 'imx8qm_iwg27s_2gb'
2 DISTRO ?= 'fsl-imx-xwayland'
3
4 PARALLEL_MAKE ?= "-j 20"
5 BB_NUMBER_THREADS ?= "20"
6
7 PACKAGE_CLASSES ?= "package_rpm"
8 EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
9 USER_CLASSES ?= "buildstats image-mklibs image-prelink"
10 PATCHRESOLVE = "noop"
11 IMAGE_INSTALL_append = " rng-tools"
12 #IMAGE_INSTALL_append +=" chromium-ozone-wayland"
13 DISTRO_FEATURES_append = " xorg-server-xwayland"
14 #CORE_IMAGE_EXTRA_INSTALL += " chromium-ozone-wayland"
15 CORE_IMAGE_EXTRA_INSTALL += "chromium-x11"
16 #IMAGE_ROOTFS_EXTRA_SPACE = "1048576"
17 #IMAGE_ROOTFS_EXTRA_SPACE = "8388608"
18 #IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
19 IMAGE_FEATURES += "ssh-server-openssh package-management hwcodecs splash dev-pkgs"
20 DISTRO_FEATURES_append = " pam"
21
22 IMAGE_INSTALL_append += " gnupg atftp atftpd ntp ntpdate fping xauth xhost"
23 EXTRA_IMAGE_FEATURES ?= "tools-debug tools-profile debug-tweaks eclipse-debug tools-sdk dev-pkgs"
24 IMAGE_INSTALL_append += " \
25 tcf-agent \
26 openssh-sftp-server \
27 gdbserver \
28 apache2 net-tools \
29 "
30 IMAGE_INSTALL_append += " \
31 i2c-tools e2fsprogs-resize2fs \
32 bash bc cpio gawk tree rsync ldd vim nano \
33 diffutils coreutils findutils iputils \
34 git git-perltools libwebsockets libwebsockets-dev vlan tcpdump \
35 "
36
37 TOOLCHAIN_TARGET_TASK_append += " kernel-devsrc kernel-modules kernel-dev libwebsockets-dev libwebsockets"
38
39 IMAGE_INSTALL_append +=" packagegroup-core-buildessential udev jpeg-tools jpeg \
40 kernel-devsrc kernel-modules kernel-dev bridge-utils atk"
41
42
43 # display language support
44 CORE_IMAGE_EXTRA_INSTALL += " \
45 source-han-sans-cn-fonts \
46 source-han-sans-kr-fonts \
47 ttf-arphic-uming \
48 "
49 USER_CLASSES ?= "buildstats image-mklibs image-prelink"
------------
Initialising tasks: 100% |##############################################################################| Time: 0:00:07
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: chromium-x11-69.0.3497.100-r0 do_configure: Function failed: do_configure (log file is located at /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/temp/log.do_configure.24582)
ERROR: Logfile of failure stored in: /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/temp/log.do_configure.24582
Log data follows:
| DEBUG: Executing shell function do_configure
| ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
| pkgresult = exec_script(pkg_config_script, args, "value")
| ^----------
| Current dir: /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/chromium-69.0.3497.100/out/Release/
| Command: python /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/chromium-69.0.3497.100/build/config/linux/pkg-config.py atk atk-bridge-2.0
| Returned 1.
| stderr:
|
| Package atk-bridge-2.0 was not found in the pkg-config search path.
| Perhaps you should add the directory containing `atk-bridge-2.0.pc'
| to the PKG_CONFIG_PATH environment variable
| No package 'atk-bridge-2.0' found
| Could not run pkg-config.
|
| See //build/config/linux/atk/BUILD.gn:20:1: whence it was called.
| pkg_config("atk_base") {
| ^-----------------------
| See //ui/views/BUILD.gn:686:24: which caused the file to be included.
| configs += [ "//build/config/linux/atk" ]
| ^-------------------------
| WARNING: /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/temp/run.do_configure.24582:1 exit 1 from 'gn gen --args=' use_cups=false ffmpeg_branding="Chromium" proprietary_codecs=false is_component_build=false use_gnome_keyring=false use_jumbo_build=false use_kerberos=false use_pulseaudio=true use_system_freetype=true use_system_libjpeg=true host_pkg_config="pkg-config-native" is_debug=false is_official_build=true use_custom_libcxx=false symbol_level=0 enable_remoting=false enable_nacl=false use_sysroot=false treat_warnings_as_errors=false is_cfi=false fieldtrial_testing_like_official_build=true google_api_key="invalid-api-key" google_default_client_id="invalid-client-id" google_default_client_secret="invalid-client-secret" custom_toolchain="//build/toolchain/yocto:yocto_target" gold_path="" host_toolchain="//build/toolchain/yocto:yocto_native" is_clang=false clang_base_path="/opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/recipe-sysroot-native/usr/bin" clang_use_chrome_plugins=false linux_use_bundled_binutils=false target_cpu="arm64" use_gold=false v8_snapshot_toolchain="//build/toolchain/yocto:yocto_target" ' "out/Release"'
| ERROR: Function failed: do_configure (log file is located at /opt/oe/iw/iw/iwg27s-release-bsp/build_imx8qm_2gb/tmp/work/aarch64-mx8-poky-linux/chromium-x11/69.0.3497.100-r0/temp/log.do_configure.24582)
ERROR: Task (/opt/oe/iw/iw/iwg27s-release-bsp/sources/meta-browser/recipes-browser/chromium/chromium-x11_69.0.3497.100.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6213 tasks of which 6209 didn't need to be rerun and 1 failed.
Thats means that you don't have the gtk headers to build stuff using GTK+. Is really weird that the error didn't showed up at ./configure step. To solve install libgtk3.0-dev
Do you mean install libget3.0-dev in linux machine which is used to do the yocto build?
Not install libget3.0-dev in linux machine!
need to add
at-spi2-atk
DEPENDS in chromium-x11_XXXX.bb file
in the bb file ,you will find these are many depends in it, that means I compile something, it need to compile something before.
---------
I solved the issue.
-------------
but the new issue appears:
fatal error: gdk/gdkx.h: No such file or directory
| #include <gdk/gdkx.h>
any suggestion?
at here
./meta-browser/recipes-browser/chromium/chromium-x11_69.0.3497.100.bb
....
10 REQUIRED_DISTRO_FEATURES = "x11"
11
12 DEPENDS += "\
13 libx11 \
14 libxcomposite \
15 libxcursor \
16 libxdamage \
17 libxext \
18 libxfixes \
19 libxi \
20 libxrandr \
21 libxrender \
22 libxscrnsaver \
23 libxtst \
24 at-spi2-atk \
25 gtk+3 \
26 gtk+ \
27 "
...
line 24 solved the first issue.
I tired add line 24 26 to solve fatal error: gdk/gdkx.h: No such file or directory
but can NOT
so, chromium-x11 is still not built by your successfully? I also tried on my side, still got the same error
not successfully! for imx8qm iwave board
---
before I played imx8mq maaxboard, it's OK. the yocto source almost is same. the chromium-x11 completely is same.
I am doing to add meta-clang to my board now. later I will try again. I need optee too.
if you are successful, please post the solution.thanks.
I manually copied these headers files that exists in recipe-sysroot-native, it got rid of this error and went on,
After a long time, I got error:
aarch64-poky-linux-ld.lld: error: undefined symbol: gdk_x11_lookup_xdisplay
| >>> referenced by gtk_ui_delegate_x11.cc:52 (../../ui/gtk/gtk_ui_delegate_x11.cc:52)
| >>> x/gtk_ui_delegate_x11.o:(ui::GtkUiDelegateX11::GetGdkKeymap()) in archive obj/ui/gtk/libui_gtk_x.a
| >>> referenced by gtk_ui_delegate_x11.cc:52 (../../ui/gtk/gtk_ui_delegate_x11.cc:52)
| >>> x/gtk_ui_delegate_x11.o:(ui::GtkUiDelegateX11::GetGdkWindow(unsigned long)) in archive obj/ui/gtk/libui_gtk_x.a
I don't think we can build chromium-x11 under xwayland since it needs x display, not wayland display.
I did build chromium-x11 under x11 backend environment, But I cannot build the whole yocto image, NXP never built X11 backend for imx8, I get errors one after another. So, I have no X11 environment to run this chromium-x11,
Did you ever build yocto sd card image for imx8qm x11 backend?
I think only header files are not useful. so errors happened again later.
------
actullay in imx8mq maaxboard(not current imx8qm iwave processor)> I successfully built chromium-x11 and whole yocto image ,toochains,... on DISTRO ?= 'fsl-imx-xwayland .
so I am tried to build them in im8qm iwave using same local.conf I posted before(only
MACHINE ??= 'imx8mqevk' is different)
the technical supporter from iwave told me NOT all imx8 processors support chromium-x1, but in NXP forum nobody told me so.
sorry,
I have to use chromium-x11
for chromium-ozone-wayland , the option --start-fullscreen. DO NOT work well.
any suggestion?
adding at-spi2-atk to DEPENDS in chromium-x11 bb file"
No package 'atk-bridge-2.0' found
../../chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc:7:10: fatal error: gdk/gdkx.h: No such file or directory
| #include <gdk/gdkx.h>
| ^~~~~~~~~~~~
| compilation terminated.
Good!
I did not find the solution about error:
fatal error: gdk/gdkx.h: No such file or directory
| #include <gdk/gdkx.h>
do you have some suggestions?