Page 1 of 2

Issue building branch 4147 [linux]

PostPosted: Sun Jul 12, 2020 1:32 pm
by edgardog
Hi, I'm trying to build (automate-git) branch 4147 and I get this issue:
Code: Select all
Generating CEF buildinfo header file...
File include/cef_config.h updated.
--> /media/ExtraDrive1/code4147/code/chromium/src/out/Release_GN_x64/args.gn contents:
chrome_pgo_phase=0
clang_use_chrome_plugins=false
enable_basic_printing=true
enable_linux_installer=false
enable_nacl=false
enable_print_preview=true
enable_widevine=true
fatal_linker_warnings=false
forbid_non_component_debug_builds=false
is_component_build=false
is_debug=false
optimize_webui=true
target_cpu="x64"
use_gtk=false
use_sysroot=false
-------- Running "ninja -C out/Release_GN_x64 cefclient chrome_sandbox" in "/media/ExtraDrive1/code4147/code/chromium/src"...
ninja: Entering directory `out/Release_GN_x64'
ninja: error: '/usr/share/xcb/bigreq.xml', needed by 'gen/ui/gfx/x/bigreq_undef.h', missing and no known rule to make it
Traceback (most recent call last):
  File "automate-git.py", line 1504, in <module>
    if options.buildlogfile else None)
  File "automate-git.py", line 70, in run
    args, cwd=working_dir, env=env, shell=(sys.platform == 'win32'))
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', 'out/Release_GN_x64', 'cefclient', 'chrome_sandbox']' returned non-zero exit status 1



Anyone else having the same problem?
Best Regards

Re: Issue building branch 4147 [linux]

PostPosted: Sun Jul 12, 2020 1:36 pm
by magreenblatt
Build with use_sysroot=true or run the install-build-deps.sh script to install the necessary package dependencies.

Re: Issue building branch 4147 [linux]

PostPosted: Sun Jul 12, 2020 4:16 pm
by edgardog
Thanks.
I was able to build branch 4103 on the same computer 2 months ago .. but I guess some dependency must have changed since then.
I'll add the install-build-deps to my build script.

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 10:41 am
by edgardog
magreenblatt wrote:Build with use_sysroot=true or run the install-build-deps.sh script to install the necessary package dependencies.


I made sure my Ubuntu is up to date, and ran the install-build-deps. All deps are installed.
I'm using
Code: Select all
Distributor ID:   Ubuntu
Description:   Ubuntu 16.04.6 LTS
Release:   16.04
Codename:   xenial


Apt-get update and upgrade, all up to date.
If I run using use_sysroot=true, it build up to step 40K and fails on gtk.h.

Not sure what else to try.
I would appreciate any pointers.
Best Regards

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 11:16 am
by magreenblatt
edgardog wrote:If I run using use_sysroot=true, it build up to step 40K and fails on gtk.h.

You can't build the cefclient target with the sysroot due to the GTK2 dependency. Build the cefsimple target instead (e.g. add `--build-target=cefsimple` to the automate-git.py command line)

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 11:36 am
by edgardog
magreenblatt wrote:
edgardog wrote:If I run using use_sysroot=true, it build up to step 40K and fails on gtk.h.

You can't build the cefclient target with the sysroot due to the GTK2 dependency. Build the cefsimple target instead (e.g. add `--build-target=cefsimple` to the automate-git.py command line)


I use cefclient as a troubleshooting tool when the app we build using CEF fails.
I was able to build it using branch 4103 about 2 months ago.
Is this GTK2 dependency issue something that started with branch 4147?
Sorry to bother with this.

Would it be better to move to Ubuntu 18? Would I be able to build branch 4147 there without sysroot ?

I had a similar issue about 2 years ago (still using Ubuntu 14) and updating to Ubuntu 16 did the trick.. I wonder if its time to update.

Thanks for the help!

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 11:49 am
by magreenblatt
Going back to your original error:
edgardog wrote:error: '/usr/share/xcb/bigreq.xml', needed by 'gen/ui/gfx/x/bigreq_undef.h', missing and no known rule to make it

This looks like an issue with the installed libxcb1 version. What version of the package do you have installed? Did installation create the bigreq.xml file at the path referenced in the error message?

edgardog wrote:Is this GTK2 dependency issue something that started with branch 4147?

No.

edgardog wrote:Would it be better to move to Ubuntu 18? Would I be able to build branch 4147 there without sysroot ?

I don't know. It depends on whether you can resolve the libxcb1 issue with Ubuntu 16, or not.

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 12:32 pm
by edgardog
Here is the dpkg list from the computer:
Code: Select all
edgardog@OryxPro:~/Code/cef3987$ dpkg-query -l | grep xcb
ii  libx11-xcb-dev:amd64                          2:1.6.3-1ubuntu2.1                              amd64        Xlib/XCB interface library (development headers)
ii  libx11-xcb1:amd64                             2:1.6.3-1ubuntu2.1                              amd64        Xlib/XCB interface library
ii  libx11-xcb1:i386                              2:1.6.3-1ubuntu2.1                              i386         Xlib/XCB interface library
ii  libxcb-composite0:amd64                       1.11.1-1ubuntu1                                 amd64        X C Binding, composite extension
ii  libxcb-damage0:amd64                          1.11.1-1ubuntu1                                 amd64        X C Binding, damage extension
ii  libxcb-dri2-0:amd64                           1.11.1-1ubuntu1                                 amd64        X C Binding, dri2 extension
ii  libxcb-dri2-0:i386                            1.11.1-1ubuntu1                                 i386         X C Binding, dri2 extension
ii  libxcb-dri2-0-dev:amd64                       1.11.1-1ubuntu1                                 amd64        X C Binding, dri2 extension, development files
ii  libxcb-dri3-0:amd64                           1.11.1-1ubuntu1                                 amd64        X C Binding, dri3 extension
ii  libxcb-dri3-0:i386                            1.11.1-1ubuntu1                                 i386         X C Binding, dri3 extension
ii  libxcb-dri3-dev:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, dri3 extension, development files
ii  libxcb-glx0:amd64                             1.11.1-1ubuntu1                                 amd64        X C Binding, glx extension
ii  libxcb-glx0:i386                              1.11.1-1ubuntu1                                 i386         X C Binding, glx extension
ii  libxcb-glx0-dev:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, glx extension, development files
ii  libxcb-icccm4:amd64                           0.4.1-1ubuntu1                                  amd64        utility libraries for X C Binding -- icccm
ii  libxcb-image0:amd64                           0.4.0-1build1                                   amd64        utility libraries for X C Binding -- image
ii  libxcb-keysyms1:amd64                         0.4.0-1                                         amd64        utility libraries for X C Binding -- keysyms
ii  libxcb-present-dev:amd64                      1.11.1-1ubuntu1                                 amd64        X C Binding, present extension, development files
ii  libxcb-present0:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, present extension
ii  libxcb-present0:i386                          1.11.1-1ubuntu1                                 i386         X C Binding, present extension
ii  libxcb-randr0:amd64                           1.11.1-1ubuntu1                                 amd64        X C Binding, randr extension
ii  libxcb-randr0-dev:amd64                       1.11.1-1ubuntu1                                 amd64        X C Binding, randr extension, development files
ii  libxcb-render-util0:amd64                     0.3.9-1                                         amd64        utility libraries for X C Binding -- render-util
ii  libxcb-render0:amd64                          1.11.1-1ubuntu1                                 amd64        X C Binding, render extension
ii  libxcb-render0:i386                           1.11.1-1ubuntu1                                 i386         X C Binding, render extension
ii  libxcb-render0-dev:amd64                      1.11.1-1ubuntu1                                 amd64        X C Binding, render extension, development files
ii  libxcb-shape0:amd64                           1.11.1-1ubuntu1                                 amd64        X C Binding, shape extension
ii  libxcb-shape0-dev:amd64                       1.11.1-1ubuntu1                                 amd64        X C Binding, shape extension, development files
ii  libxcb-shm0:amd64                             1.11.1-1ubuntu1                                 amd64        X C Binding, shm extension
ii  libxcb-shm0:i386                              1.11.1-1ubuntu1                                 i386         X C Binding, shm extension
ii  libxcb-shm0-dev:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, shm extension, development files
ii  libxcb-sync-dev:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, sync extension, development files
ii  libxcb-sync1:amd64                            1.11.1-1ubuntu1                                 amd64        X C Binding, sync extension
ii  libxcb-sync1:i386                             1.11.1-1ubuntu1                                 i386         X C Binding, sync extension
ii  libxcb-util1:amd64                            0.4.0-0ubuntu3                                  amd64        utility libraries for X C Binding -- atom, aux and event
ii  libxcb-xf86dri0:amd64                         1.11.1-1ubuntu1                                 amd64        X C Binding, xf86dri extension
ii  libxcb-xfixes0:amd64                          1.11.1-1ubuntu1                                 amd64        X C Binding, xfixes extension
ii  libxcb-xfixes0:i386                           1.11.1-1ubuntu1                                 i386         X C Binding, xfixes extension
ii  libxcb-xfixes0-dev:amd64                      1.11.1-1ubuntu1                                 amd64        X C Binding, xfixes extension, development files
ii  libxcb-xkb1:amd64                             1.11.1-1ubuntu1                                 amd64        X C Binding, XKEYBOARD extension
ii  libxcb-xv0:amd64                              1.11.1-1ubuntu1                                 amd64        X C Binding, xv extension
ii  libxcb1:amd64                                 1.11.1-1ubuntu1                                 amd64        X C Binding
ii  libxcb1:i386                                  1.11.1-1ubuntu1                                 i386         X C Binding
ii  libxcb1-dev:amd64                             1.11.1-1ubuntu1                                 amd64        X C Binding, development files


I'll try uninstalling and re-installing libxcb1 in case it got screwed up.

I checked
Code: Select all
error: '/usr/share/xcb/bigreq.xml', needed by 'gen/ui/gfx/x/bigreq_undef.h', missing and no known rule to make it

there is no /usr/share/xcb on my system

I guess my original question about ubuntu 18 is... if I have a clean Ubuntu 18 install (running install-deps scripts and automate.git), can I build any of the latest branches without sysroot and getting cefclient ?

I'm also having issues building branch 3987:
Code: Select all
[0:00:03] Started.
[0:00:03] Finished running: git config remote.origin.url
[0:00:03] Finished running: git rev-list -n 1 HEAD
[0:00:03] Finished running: git rev-parse --abbrev-ref=strict HEAD
[0:00:03] Finished running: git rev-parse 0d4095e47ca0e972e04efecf7772a8d12b60c665
[0:00:04] Finished running: git rev-list -n 1 HEAD
----------------------------------------
Error: Command 'git checkout --quiet 0d4095e47ca0e972e04efecf7772a8d12b60c665' returned non-zero exit status 1 in /home/edgardog/Code/cef3987/code/chromium/src/third_party/devtools-frontend/src
error: Your local changes to the following files would be overwritten by checkout:
   test/screenshots/image_diff/mac/libbase.dylib
   test/screenshots/image_diff/mac/libc++.dylib
   test/screenshots/image_diff/mac/libchrome_zlib.dylib
   test/screenshots/interactive/no-diff-available.png
Please, commit your changes or stash them before you can switch branches.
Aborting

Traceback (most recent call last):
  File "automate-git.py", line 1377, in <module>
    ('--reset ' if discard_local_changes else ''), chromium_dir, depot_tools_dir)
  File "automate-git.py", line 70, in run
    args, cwd=working_dir, env=env, shell=(sys.platform == 'win32'))
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gclient', 'sync', '--reset', '--nohooks', '--with_branch_heads', '--jobs', '16']' returned non-zero exit status 1



I guess I can't catch a break building.
I'll try to fix XCB.

Best Regards

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 12:42 pm
by magreenblatt
edgardog wrote:I guess my original question about ubuntu 18 is... if I have a clean Ubuntu 18 install (running install-deps scripts and automate.git), can I build any of the latest branches without sysroot and getting cefclient ?

I always build with sysroot enabled. That works fine on both Ubuntu 16 and Ubuntu 18 (when not building the cefclient target). You can build cefclient using a binary distribution created from your local build, but I agree that it's less convenient then building it with Chromium directly.

Re: Issue building branch 4147 [linux]

PostPosted: Mon Jul 13, 2020 12:51 pm
by edgardog
magreenblatt wrote:
edgardog wrote:I guess my original question about ubuntu 18 is... if I have a clean Ubuntu 18 install (running install-deps scripts and automate.git), can I build any of the latest branches without sysroot and getting cefclient ?

I always build with sysroot enabled. That works fine on both Ubuntu 16 and Ubuntu 18 (when not building the cefclient target). You can build cefclient using a binary distribution created from your local build, but I agree that it's less convenient then building it with Chromium directly.


I actually build cefclient on the binary distribution (since I pull the libcef_dll_wrapper.a and the include folder to build my own c++ wrapper).
Maybe I need to revise my steps.
I use automate-git for building, then I make a few changes to the code (basically a small HTML change on the PDF reader to make buttons a bit bigger) , rebuild using ninja (to include those HTML changes) , generate the binary_distrib and from that I build cefclient and cefsimple.. and pull the libcef_dll_wrapper.a and include folder (along with cefclient) into my C++ wrapper that uses CEF.

If its possible to build using sysroot and still do the same steps afterwards I think that will do it.

I've just reinstalled libxcb1-dev and ran the install-deps again. I still don't have the /usr/share/xcb folder.

I'll try disabling cefclient as you suggested and using sysroot again.

Best Regards