Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Mercury from source #178

Open
Joly0 opened this issue Apr 18, 2024 · 0 comments
Open

Building Mercury from source #178

Joly0 opened this issue Apr 18, 2024 · 0 comments

Comments

@Joly0
Copy link

Joly0 commented Apr 18, 2024

Hey guys, i am trying to build mercury for windows in an ubuntu docker container, that should be that big of an issue i guess, but i have some isses. First here is my dockerfile so anyone can understand what is happening:

FROM ubuntu:22.04

ENV SHELL /bin/bash

ENV PATH="/root/.cargo/bin:${PATH}"

RUN apt-get update && \
    apt-get install -y curl python3 clang llvm python3-pip git

RUN pip3 install Mercurial

RUN git clone https://github.com/Alex313031/Mercury.git $HOME/Mercury
RUN curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O && \
    python3 bootstrap.py --application-choice=browser --no-interactive && \
    mv /mozilla-unified $HOME/

WORKDIR /root/Mercury

RUN export TERM=xterm && \
    ./setup.sh --cross-avx2 && \
    ./build.sh

When i execute that, everything looks good so far, alot of microsoft stuff is installed, but at some point, i am facing this issue:

3:00.05 Unpacking Microsoft.VC.14.39.17.9.MFC.ARM64.Debug.base
 3:00.05 Unpacking Microsoft.VisualCpp.MFC.MBCS.arm64
 3:00.05 Unpacking Microsoft.VC.14.39.17.9.MFC.MBCS.arm64.base
 3:00.05 Unpacking Microsoft.VC.14.39.17.9.MFC.MBCS.arm64.Debug.base
 3:00.05 Unpacking Microsoft.VisualCpp.MFC.Redist.ARM64
 3:00.05 Unpacking Microsoft.VC.14.38.17.8.MFC.Redist.ARM64.base
 3:00.05 Unpacking Win11SDK_10.0.22621
 3:00.05 Extracting Application Verifier arm External Package (DesktopEditions)-arm_en-us.msi
 3:00.05 Traceback (most recent call last):
 3:00.05   File "/root/mozilla-unified/taskcluster/scripts/misc/get_vs.py", line 48, in <module>
 3:00.05     extractPackages(selected, dl_cache, unpacked)
 3:00.05   File "/root/mozilla-unified/third_party/python/vsdownload/vsdownload.py", line 534, in extractPackages
 3:00.05     unpackWin10SDK(dir, p["payloads"], dest)
 3:00.05   File "/root/mozilla-unified/third_party/python/vsdownload/vsdownload.py", line 519, in unpackWin10SDK
 3:00.05     subprocess.check_call(cmd, stdout=log)
 3:00.05   File "/usr/lib/python3.10/subprocess.py", line 364, in check_call
 3:00.05     retcode = call(*popenargs, **kwargs)
 3:00.05   File "/usr/lib/python3.10/subprocess.py", line 345, in call
 3:00.05     with Popen(*popenargs, **kwargs) as p:
 3:00.05   File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
 3:00.05     self._execute_child(args, executable, preexec_fn, close_fds,
 3:00.05   File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
 3:00.05     raise child_exception_type(errno_num, err_msg, err_filename)
 3:00.06 FileNotFoundError: [Errno 2] No such file or directory: 'msiextract'
 3:00.06 ERROR: Command '['/root/.mozbuild/srcdirs/mozilla-unified-fb3fd3731f6b/_virtualenvs/build/bin/python', '/root/mozilla-unified/mach', '--log-no-times', 'python', '--virtualenv', 'build', '/root/mozilla-unified/taskcluster/scripts/misc/get_vs.py', 'build/vs/vs2022.yaml', 'vs']' returned non-zero exit status 1.
 3:00.06 ERROR: If you can't fix the above, retry with --disable-bootstrap.
*** Fix above errors and then restart with "./mach build"

I also tried changing the last few lines of the dockerfile to

RUN export TERM=xterm && \
    ./setup.sh --win-avx2 && \
    ./build.sh

But that didnt work aswell, i am getting this error:

0:00.47   RUSTFLAGS=-C target-cpu=haswell -C target-feature=+avx2 -C codegen-units=1
 0:00.47   MOZ_DATA_REPORTING=0
 0:00.47   VERBOSE=1
 0:00.47   WIN32_REDIST_DIR=/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Redist/MSVC/14.38.33130/x64/Microsoft.VC143.CRT
 0:00.47   CFLAGS=-O3 -march=x86-64-v3 /clang:-O3 /clang:-ffp-contract=fast /arch:AVX2
 0:00.47   MOZ_REQUIRE_SIGNING=
 0:00.47   MOZ_INCLUDE_SOURCE_INFO=1
 0:00.47   CPPFLAGS=-O3 -march=x86-64-v3 /clang:-O3 /clang:-ffp-contract=fast /arch:AVX2
 0:00.47   POLLY=-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine
 0:00.47   CROSS_COMPILE=0
 0:00.47 checking for vcs source checkout... hg
 0:00.48 checking for a shell... /usr/bin/sh
 0:00.50 checking for host system type... x86_64-pc-linux-gnu
 0:00.50 checking for target system type... x86_64-pc-linux-gnu
 0:00.62 checking whether cross compiling... no
 0:00.66 Traceback (most recent call last):
 0:00.66   File "/root/mozilla-unified/configure.py", line 351, in <module>
 0:00.66     sys.exit(main(sys.argv))
 0:00.66   File "/root/mozilla-unified/configure.py", line 141, in main
 0:00.66     sandbox.run()
 0:00.66   File "/root/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 522, in run
 0:00.66     self._value_for(option)
 0:00.66   File "/root/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 627, in _value_for
 0:00.66     return self._value_for_option(obj)
 0:00.66   File "/root/mozilla-unified/python/mozbuild/mozbuild/util.py", line 1041, in method_call
 0:00.66     cache[args] = self.func(instance, *args)
 0:00.66   File "/root/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 694, in _value_for_option
 0:00.66     raise InvalidOptionError(
 0:00.67 mozbuild.configure.options.InvalidOptionError: WIN32_REDIST_DIR is not available in this configuration
*** Fix above errors and then restart with "./mach build"
 0:00.70 W Exception when writing resource usage file: [Errno 2] No such file or directory: '/root/mozilla-unified/obj-x86_64-pc-linux-gnu/instrumented/.mozbuild/profile_build_resources.json'

So could anyone please explain, how i can get the windows files so i can build and run mercury for myself?

EDIT:
when i use these commands:

RUN export TERM=xterm && \
    ./setup.sh && \
    ./build.sh

i get this error message:

 0:05.86 checking for gtk+-wayland-3.0 >= 3.14 xkbcommon >= 0.4.1... yes
 0:05.88 checking MOZ_WAYLAND_CFLAGS... -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/gtk-3.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/pango-1.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/glib-2.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/cairo -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/pixman-1 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/freetype2 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/libpng12 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/gdk-pixbuf-2.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/gio-unix-2.0/ -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/harfbuzz -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/atk-1.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/at-spi2-atk/2.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/at-spi-2.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/dbus-1.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/dbus-1.0/include -pthread
 0:05.88 checking MOZ_WAYLAND_LIBS... -L/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lxkbcommon
 0:05.88 checking for pango >= 1.22.0... yes
 0:05.88 checking MOZ_PANGO_CFLAGS... -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/pango-1.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/glib-2.0 -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include -pthread
 0:05.88 checking MOZ_PANGO_LIBS... -L/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu -lpango-1.0 -lgobject-2.0 -lglib-2.0
 0:05.88 checking for fontconfig >= 2.7.0... yes
 0:05.88 checking _FONTCONFIG_CFLAGS... -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/freetype2
 0:05.88 checking _FONTCONFIG_LIBS... -L/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu -lfontconfig -lfreetype
 0:05.88 checking for freetype2 >= 9.10.3... yes
 0:05.88 checking _FT2_CFLAGS... -I/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/include/freetype2
 0:05.88 checking _FT2_LIBS... -L/root/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu -lfreetype
 0:05.88 checking for tar... /usr/bin/tar
 0:05.88 checking for unzip... /usr/bin/unzip
 0:05.89 checking for the Mozilla API key... no
 0:05.89 checking for the Google Location Service API key... no
 0:05.89 ERROR: 'ga': No such file or directory.
*** Fix above errors and then restart with "./mach build"
 0:05.98 W Exception when writing resource usage file: [Errno 2] No such file or directory: '/root/mozilla-unified/obj-x86_64-pc-linux-gnu/instrumented/.mozbuild/profile_build_resources.json'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant