J'essaie de recompiler Firefox 57 (l'objectif est d'ajouter quelques correctifs) dans Ubuntu 16.04.
J'effectue la procédure habituelle:
Sudo apt-get source firefox
Sudo apt-get build-dep firefox
cd firefox-57.0.1+build2/
debuild -us -uc
Sur le build-dep, j'obtiens l'erreur suivante:
The following packages have unmet dependencies:
builddeps:firefox : Depends: cargo (>= 0.20)
Depends: rustc (>= 1.19.0)
E: Unable to correct problems, you have held broken packages.
J'ai tous les référentiels standard pour xenial (y compris universe
, multivers
), et il n'existe aucun package de ce type. Le dernier rustc
a la version 1.17.
J'ai essayé:
--prepend-path
ppa:jonathonf/rustlang
.Mais je reçois une erreur de compilation:
/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/Compiler.h:49:12: fatal error: 'cstddef' file not found, err: true
/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/mozalloc.h:16:12: fatal error: 'new' file not found, err: true
/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/mozalloc.h:16:12: fatal error: 'new' file not found, err: true
...
stack backtrace:
0: 0x5584a7075fb3 - std::sys::imp::backtrace::tracing::imp::unwind_backtrace::h8ed7485deb8ab958
at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: 0x5584a7072520 - std::sys_common::backtrace::_print::h3d4f9ea58578e60f
at /checkout/src/libstd/sys_common/backtrace.rs:69
...
11: 0x5584a707aa9b - std::sys::imp::thread::Thread::new::thread_start::hbaf1b5aa1ca8e3ea
at /checkout/src/liballoc/boxed.rs:736
at /checkout/src/libstd/sys_common/thread.rs:24
at /checkout/src/libstd/sys/unix/thread.rs:90
12: 0x2b1467a296b9 - start_thread
13: 0x2b1467f5c3dc - clone
14: 0x0 - <unknown>
Quel type d’environnement de compilation est nécessaire pour reconstruire firefox 57 deb dans Ubuntu xenial?
J'ai réussi à résoudre ce problème. Il y avait deux problèmes:
Aucun paquet pour build-dep
Pour cela, la bonne manière consistait à ajouter le ppa correspondant:
Sudo apt-get source firefox
Sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
Sudo apt-get update
Sudo apt-get build-dep firefox
cd firefox-57.0.1+build2/
debuild -uc -us -b
Erreur de compilation
Cela était probablement lié à l'espace libre disponible sur le disque. Firefox nécessite 30 Go d’espace libre et au moins 2 Go de RAM à compiler. J'ai essayé sur une autre machine avec beaucoup de ressources, et cela a bien fonctionné.