chromiumembedded / cef

Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.
https://bitbucket.org/chromiumembedded/cef/
Other
3.38k stars 467 forks source link

[Linux] cef_create_projects.sh fails #3794

Closed jwinarske closed 2 months ago

jwinarske commented 2 months ago

Describe the bug Following Linux setup fails at ./cef_create_projects.sh everytime https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md#markdown-header-linux-setup

To Reproduce Steps to reproduce the behavior:

  1. follow steps verbatim: https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md#markdown-header-linux-setup

Expected behavior cef_create_projects.sh runs without error

Versions (please complete the following information):

magreenblatt commented 2 months ago

Duplicate of #3788

jwinarske commented 2 months ago

@magreenblatt What's the issue with depot_tools? This is not clear in the other issue.

magreenblatt commented 2 months ago

What's the issue with depot_tools?

I don't know, and I don't have an Ubuntu 20 setup to debug the issue.

jwinarske commented 2 months ago

Now testing on Fedora 40. I don't think it's a depot_tools issue.

jwinarske commented 2 months ago

@magreenblatt Fedora 40 is not a duplicate

~/code/chromium_git/chromium/src/cef$ ./cef_create_projects.sh
...
Generating CEF project files...
Creating /home/joel/code/chromium_git/chromium/src/out/Debug_GN_x64 directory.
ERROR at //printing/BUILD.gn:480:16: Script returned non-zero exit code.
        libs = exec_script("cups_config_helper.py",
               ^----------
Current dir: /home/joel/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py --libs-for-gn 
Returned 1.
stderr:

Traceback (most recent call last):
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 108, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 92, in main
    flags = run_cups_config(cups_config, mode)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 35, in run_cups_config
    cups = subprocess.Popen([cups_config, '--cflags', '--ldflags', '--libs'],
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib64/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'cups-config'

See //BUILD.gn:288:17: which caused the file to be included.
      deps += [ "//printing:printing_unittests" ]
                ^------------------------------
Traceback (most recent call last):
  File "/home/joel/code/chromium_git/chromium/src/cef/tools/gclient_hook.py", line 149, in <module>
    RunAction(src_dir, cmd)
  File "/home/joel/code/chromium_git/chromium/src/cef/tools/gclient_util.py", line 35, in RunAction
    gclient_utils.CheckCallAndFilter(
  File "/home/joel/code/depot_tools/gclient_utils.py", line 714, in CheckCallAndFilter
    raise subprocess2.CalledProcessError(rv, args, kwargs.get('cwd', None),
subprocess2.CalledProcessError: Command 'gn gen out/Debug_GN_x64' returned non-zero exit status 1 in /home/joel/code/chromium_git/chromium/src
ERROR at //printing/BUILD.gn:480:16: Script returned non-zero exit code.
        libs = exec_script("cups_config_helper.py",
               ^----------
Current dir: /home/joel/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py --libs-for-gn 
Returned 1.
stderr:

Traceback (most recent call last):
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 108, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 92, in main
    flags = run_cups_config(cups_config, mode)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/joel/code/chromium_git/chromium/src/printing/cups_config_helper.py", line 35, in run_cups_config
    cups = subprocess.Popen([cups_config, '--cflags', '--ldflags', '--libs'],
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib64/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'cups-config'

See //BUILD.gn:288:17: which caused the file to be included.
      deps += [ "//printing:printing_unittests" ]
                ^------------------------------
jwinarske commented 2 months ago

Fedora failure was due to missing runtime deps... Since the install deps only handles debian packages

jwinarske commented 2 months ago

Works as advertised on Fedora 40; requires manual install of runtime packages