Problem med Docker, kompilera Firefox

Permalänk
Medlem

Problem med Docker, kompilera Firefox

Hej!

Jag är ny på det här med docker och efter att ha kört andras images vill jag nu pröva min egna. Jag har valt att försöka kompilera Firefox för att även kunna göra lite benchmarks. Hittade denna guide: https://jamesturner.im/2017/08/26/building-firefox-in-docker....

Ändringar som är gjorda i den är FROM och LABEL till 19.10 samt mitt namn. När jag sedan försöker bygga imagen avslutar den med felkoden: "The command '/bin/sh -c python /tmp/bootstrap.py --application-choice=browser --no-interactive' returned a non-zero code: 1"

Någon som vet vad som försiggår?

Mvh

Señor Hallon

Visa signatur

Jag är så progg att jag lyssnar på konceptalbum på shuffle

Permalänk
Medlem

19.10 har möjligen en annan python version som inte fungerar? fungerar det med 18.04?

Permalänk
Medlem
Skrivet av Meto:

19.10 har möjligen en annan python version som inte fungerar? fungerar det med 18.04?

Tyvärr funkar inte detta heller, fastnar på samma ställe.

Visa signatur

Jag är så progg att jag lyssnar på konceptalbum på shuffle

Permalänk
Datavetare

Du har gett dig på ett rätt svårt projekt. Har aldrig kompilerat Firefox själv, men givet hur stor och komplext projektet är lär det inte vara helt supertrivialt att få igång på valfritt system.

Men Docker är Docker, så var ju trivialt att köra detta på min egen dator. Och mycket riktigt fallerar bootstrap.py, det har inget att göra med Ubuntu-version utan kommer av att skriptet förväntar sig att Firefox ska vara utcheckat vilket inte är fallet.

Finns säker bättre sätt att göra detta, men följande tweak kommer få igång dig

Här är min Dockerfile

FROM ubuntu:19.10 LABEL maintainer="Kenneth Jonsson" ENV SHELL=/bin/bash ENV PATH="/root/.cargo/bin:${PATH}" RUN apt-get update && \ apt-get install -y wget python clang llvm RUN wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/pytho... -O /tmp/bootstrap.py RUN mkdir -p /usr/local/src/firefox WORKDIR /usr/local/src/firefox CMD ["./mach", "build"] RUN python2.7 /tmp/bootstrap.py --application-choice=browser --no-interactive || true RUN cargo install cbindgen

Notera fulhacket att lägga på || true för att ignorera felkod från bootstrap.py. Det är "OK" här då nästa rad bör fallera om nu det verkligen inte gick bra att köra bootstrap.py.

Bygg din Docker-image så här

$ docker build -t firefox-dev .

Checka sedan ut Firefox, låt oss anta att du checkar ut det i ~/firefox-src. Kör då detta

$ docker run -it --rm -v $HOME/firefox-src:/usr/local/src/firefox firefox-dev /bin/bash

Kör detta i din container

$ ./mach bootstrap

NU har du en miljö där det borde gå att bygga Firefox. Testade bara ett par minuter, antar att det tar en stund att bygga Firefox från source...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer