Lines Matching +full:libc6 +full:- +full:dbg
4 # Use of this source code is governed by a BSD-style license that can be
23 output = subprocess.check_output(["apt-cache", "dumpavail"]).decode()
31 def package_exists(package_name: str) -> bool:
38 parser.add_argument("--syms",
42 "--no-syms",
48 "--lib32",
50 help="Enable installation of 32-bit libraries, e.g. for V8 snapshot",
53 "--android",
58 "--no-android",
63 parser.add_argument("--arm",
67 "--no-arm",
73 "--chromeos-fonts",
78 "--no-chromeos-fonts",
84 "--nacl",
89 "--no-nacl",
95 "--backwards-compatible",
102 "--no-backwards-compatible",
109 parser.add_argument("--no-prompt",
113 "--quick-check",
118 "--unsupported",
134 print("try: sudo apt-get install lsb-release", file=sys.stderr)
140 return subprocess.check_output(["lsb_release", "--codename",
141 "--short"]).decode().strip()
148 distro_id = subprocess.check_output(["lsb_release", "--id",
149 "--short"]).decode().strip()
159 "dependencies by passing the `--unsupported` parameter",
172 architecture = subprocess.check_output(["uname", "-m"]).decode().strip()
181 print("Running as non-root user.", file=sys.stderr)
189 subprocess.check_call(["sudo", "dpkg", "--add-architecture", "i386"])
190 subprocess.check_call(["sudo", "apt-get", "update"])
201 "dbus-x11",
203 "dpkg-dev",
207 "git-core",
209 "libasound2-dev",
210 "libatspi2.0-dev",
211 "libbrlapi-dev",
212 "libbz2-dev",
213 "libc6-dev",
214 "libcairo2-dev",
215 "libcap-dev",
216 "libcups2-dev",
217 "libcurl4-gnutls-dev",
218 "libdrm-dev",
219 "libelf-dev",
220 "libevdev-dev",
221 "libffi-dev",
223 "libgbm-dev",
224 "libglib2.0-dev",
225 "libglu1-mesa-dev",
226 "libgtk-3-dev",
227 "libkrb5-dev",
228 "libnspr4-dev",
229 "libnss3-dev",
230 "libpam0g-dev",
231 "libpci-dev",
232 "libpulse-dev",
233 "libsctp-dev",
234 "libspeechd-dev",
235 "libsqlite3-dev",
236 "libssl-dev",
237 "libsystemd-dev",
238 "libudev-dev",
239 "libva-dev",
240 "libwww-perl",
241 "libxshmfence-dev",
242 "libxslt1-dev",
243 "libxss-dev",
244 "libxt-dev",
245 "libxtst-dev",
252 "pkg-config",
256 "uuid-dev",
258 "x11-utils",
260 "xz-utils",
266 "libbluetooth-dev",
267 "libxkbcommon-dev",
268 "mesa-common-dev",
275 if package_exists("libjpeg-dev"):
276 packages.append("libjpeg-dev")
278 packages.append("libjpeg62-dev")
294 if package_exists("libav-tools"):
295 packages.append("libav-tools")
297 if package_exists("libvulkan-dev"):
298 packages.append("libvulkan-dev")
300 if package_exists("libinput-dev"):
301 packages.append("libinput-dev")
303 # Cross-toolchain strip is needed for building the sysroots.
304 if package_exists("binutils-arm-linux-gnueabihf"):
305 packages.append("binutils-arm-linux-gnueabihf")
306 if package_exists("binutils-aarch64-linux-gnu"):
307 packages.append("binutils-aarch64-linux-gnu")
308 if package_exists("binutils-mipsel-linux-gnu"):
309 packages.append("binutils-mipsel-linux-gnu")
310 if package_exists("binutils-mips64el-linux-gnuabi64"):
311 packages.append("binutils-mips64el-linux-gnuabi64")
313 # 64-bit systems need a minimum set of 32-bit compat packages for the
314 # pre-built NaCl binaries.
315 if "ELF 64-bit" in subprocess.check_output(["file", "-L",
318 if package_exists("libc6-i386"):
319 packages.append("libc6-i386")
323 # lib32gcc-s1 used to be called lib32gcc1 in older distros.
324 if package_exists("lib32gcc-s1"):
325 packages.append("lib32gcc-s1")
332 # List of required run-time libraries
336 "libatk1.0-0",
337 "libatspi2.0-0",
338 "libc6",
341 "libcgi-session-perl",
350 "libglib2.0-0",
352 "libgtk-3-0",
354 "libpango-1.0-0",
355 "libpangocairo-1.0-0",
358 "libpixman-1-0",
361 "libsqlite3-0",
363 "libwayland-egl1",
364 "libwayland-egl1-mesa",
365 "libx11-6",
366 "libx11-xcb1",
380 "x11-utils",
381 "xserver-xorg-core", # TODO(crbug.com/1417069): Experimental.
382 "xserver-xorg-video-dummy", # TODO(crbug.com/1417069): Experimental.
387 # Run-time libraries required by chromeos only
390 "libbz2-1.0",
404 if package_exists("libpng16-16"):
405 packages.append("libpng16-16")
407 packages.append("libpng12-0")
412 packages.extend(["libnspr4-0d", "libnss3-1d"])
414 if package_exists("appmenu-gtk"):
415 packages.append("appmenu-gtk")
416 if package_exists("libgnome-keyring0"):
417 packages.append("libgnome-keyring0")
418 if package_exists("libgnome-keyring-dev"):
419 packages.append("libgnome-keyring-dev")
436 print("Skipping 32-bit libraries.", file=sys.stderr)
438 print("Including 32-bit libraries.", file=sys.stderr)
441 # 32-bit libraries needed for a 32-bit build
442 # includes some 32-bit libraries required by the Android SDK
445 "libatk-bridge2.0-0:i386",
446 "libatk1.0-0:i386",
447 "libatspi2.0-0:i386",
448 "libdbus-1-3:i386",
451 "libglib2.0-0:i386",
453 "libpango-1.0-0:i386",
454 "libpangocairo-1.0-0:i386",
456 "libwayland-egl1:i386",
457 "libx11-xcb1:i386",
464 # 32-bit libraries needed e.g. to compile V8 snapshot for Android or armhf
465 "linux-libc-dev:i386",
469 # When cross building for arm/Android on 64-bit systems the host binaries
470 # that are part of v8 need to be compiled with -m32 which means
472 if "ELF 64-bit" in subprocess.check_output(["file", "-L",
474 # gcc-multilib conflicts with the arm cross compiler but
475 # g++-X.Y-multilib gives us the 32-bit support that we need. Find out the
477 # distribution's g++-multilib package depends on.
479 ["apt-cache", "depends", "g++-multilib", "--important"]).decode()
480 pattern = re.compile(r"g\+\+-[0-9.]+-multilib")
483 # Work around for 32-bit dependency On Ubuntu 24.04 LTS (noble)
503 "fonts-indic",
504 "fonts-ipafont",
505 "fonts-stix",
506 "fonts-thai-tlwg",
507 "fonts-tlwg-garuda",
509 "g++-4.8-multilib-arm-linux-gnueabihf",
510 "gcc-4.8-multilib-arm-linux-gnueabihf",
511 "g++-9-multilib-arm-linux-gnueabihf",
512 "gcc-9-multilib-arm-linux-gnueabihf",
513 "gcc-arm-linux-gnueabihf",
514 "g++-10-multilib-arm-linux-gnueabihf",
515 "gcc-10-multilib-arm-linux-gnueabihf",
516 "g++-10-arm-linux-gnueabihf",
517 "gcc-10-arm-linux-gnueabihf",
518 "git-svn",
519 "language-pack-da",
520 "language-pack-fr",
521 "language-pack-he",
522 "language-pack-zh-hant",
523 "libappindicator-dev",
525 "libappindicator3-1",
526 "libappindicator3-dev",
527 "libdconf-dev",
530 "libexif-dev",
533 "libgbm-dev",
534 "libgbm-dev-lts-trusty",
535 "libgbm-dev-lts-xenial",
536 "libgconf-2-4:i386",
537 "libgconf2-dev",
538 "libgl1-mesa-dev",
539 "libgl1-mesa-dev-lts-trusty",
540 "libgl1-mesa-dev-lts-xenial",
541 "libgl1-mesa-glx:i386",
542 "libgl1-mesa-glx-lts-trusty:i386",
543 "libgl1-mesa-glx-lts-xenial:i386",
544 "libgles2-mesa-dev",
545 "libgles2-mesa-dev-lts-trusty",
546 "libgles2-mesa-dev-lts-xenial",
547 "libgtk-3-0:i386",
548 "libgtk2.0-0",
549 "libgtk2.0-0:i386",
550 "libgtk2.0-dev",
551 "mesa-common-dev",
552 "mesa-common-dev-lts-trusty",
553 "mesa-common-dev-lts-xenial",
555 "python-dev",
556 "python-setuptools",
558 "ttf-dejavu-core",
559 "ttf-indic-fonts",
560 "ttf-kochi-gothic",
561 "ttf-kochi-mincho",
562 "ttf-mscorefonts-installer",
563 "xfonts-mathml",
566 if package_exists("python-is-python2"):
567 packages.extend(["python-is-python2", "python2-dev"])
571 if package_exists("python-crypto"):
572 packages.append("python-crypto")
574 if package_exists("python-numpy"):
575 packages.append("python-numpy")
577 if package_exists("python-openssl"):
578 packages.append("python-openssl")
580 if package_exists("python-psutil"):
581 packages.append("python-psutil")
583 if package_exists("python-yaml"):
584 packages.append("python-yaml")
586 if package_exists("apache2.2-bin"):
587 packages.append("apache2.2-bin")
589 packages.append("apache2-bin")
592 ("php8.1-cgi", "libapache2-mod-php8.1"),
593 ("php8.0-cgi", "libapache2-mod-php8.0"),
594 ("php7.4-cgi", "libapache2-mod-php7.4"),
595 ("php7.3-cgi", "libapache2-mod-php7.3"),
596 ("php7.2-cgi", "libapache2-mod-php7.2"),
597 ("php7.1-cgi", "libapache2-mod-php7.1"),
598 ("php7.0-cgi", "libapache2-mod-php7.0"),
599 ("php5-cgi", "libapache2-mod-php5"),
618 "libc6-dev-armhf-cross",
619 "linux-libc-dev-armhf-cross",
620 "g++-arm-linux-gnueabihf",
626 "g++-5-multilib-arm-linux-gnueabihf",
627 "gcc-5-multilib-arm-linux-gnueabihf",
628 "gcc-arm-linux-gnueabihf",
632 "g++-10-multilib-arm-linux-gnueabihf",
633 "gcc-10-multilib-arm-linux-gnueabihf",
634 "gcc-arm-linux-gnueabihf",
638 "gcc-arm-linux-gnueabihf",
639 "g++-11-arm-linux-gnueabihf",
640 "gcc-11-arm-linux-gnueabihf",
644 "gcc-arm-linux-gnueabihf",
645 "g++-13-arm-linux-gnueabihf",
646 "gcc-13-arm-linux-gnueabihf",
661 "g++-mingw-w64-i686",
662 "lib32z1-dev",
665 "libelf-dev:i386",
667 "libglib2.0-0:i386",
670 "libpango-1.0-0:i386",
671 "libssl-dev:i386",
672 "libtinfo-dev",
673 "libtinfo-dev:i386",
692 "xutils-dev",
697 if package_exists("libssl-dev"):
698 packages.append("libssl-dev:i386")
717 packages.append("lib32ncurses-dev")
720 packages.append("lib32ncurses5-dev")
726 # have the -dbgsym suffix (https://wiki.debian.org/AutomaticDebugPackages).
727 # Untransitioned packages have the -dbg suffix. And on some systems, neither
730 if package_exists(package + "-dbgsym"):
731 return [package + "-dbgsym"]
732 if package_exists(package + "-dbg"):
733 return [package + "-dbg"]
751 if package_exists("libstdc++6-%s-dbg" % version):
752 packages.append("libstdc++6-%s-dbg" % version)
755 if not dbg_package_name("libatk1.0-0"):
758 if not dbg_package_name("libpango-1.0-0"):
759 packages.extend(dbg_package_name("libpango1.0-dev"))
769 # Sort all the :i386 packages to the front, to avoid confusing dpkg-query
777 ["dpkg-query", "-W", "-f", " "] + packages,
784 line.split(" ")[-1] for line in e.stderr.decode().strip().splitlines()
789 result = subprocess.run(["apt-cache", "show", package], capture_output=True)
816 print("(maybe missing a repo or need to 'sudo apt-get update'):",
830 query_cmd = ["apt-get", "--just-print", "install"] + packages
854 quiet = ["-qq", "--assume-yes"] if options.no_prompt else []
855 subprocess.check_call(["sudo", "apt-get", "install"] + quiet + packages)
862 # An apt-get exit status of 100 indicates that a real error has occurred.
863 print("`apt-get --just-print install ...` failed", file=sys.stderr)
874 # apt-get, since install-chromeos-fonts depends on curl.
886 os.path.join(dir, "linux", "install-chromeos-fonts.py")])
891 ["stat", "-f", "-c", "%T", dir], ).decode().startswith("nfs")):
904 print("the command line option: --no-chromeos-fonts.", file=sys.stderr)
911 "da_DK.UTF-8", "en_US.UTF-8", "fr_FR.UTF-8", "he_IL.UTF-8", "zh_TW.UTF-8"
918 ["sudo", "sed", "-i",
924 subprocess.check_call(["sudo", "locale-gen"])
926 print("Locales already up-to-date.", file=sys.stderr)
929 subprocess.check_call(["sudo", "locale-gen", locale])