Closed Bug 1892724 Opened 2 years ago Closed 2 years ago

building fails in gecko profiler

Categories

(Core :: Audio/Video: Playback, defect)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: manoa, Unassigned)

Details

Steps to reproduce:

./mach configure --release --without-wasm-sandboxed-libraries

ac_add_options --with-libclang-path=/mnt/apps/llvm-18/lib
mk_add_options MOZ_OBJDIR=/mnt/wf/waterfox-build/build
ac_add_options --prefix=/mnt/apps/wf6-1
mk_add_options AUTOCLOBBER=1
mk_add_options MOZ_PARALLEL_BUILD=13
mk_add_options MOZ_ENABLE_WARNINGS_AS_ERRORS=0
mk_add_options MOZ_GECKO_PROFILER=0
mk_add_options MOZ_GECKO_PROFILER_PARSE_ELF=0
unset MOZ_TELEMETRY_REPORTING
ac_add_options --disable-bootstrap
ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --disable-warnings-as-errors
ac_add_options --disable-pulseaudio
ac_add_options --disable-audio-backends
ac_add_options --disable-alsa
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
#ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
ac_add_options --disable-av1
ac_add_options --without-av1

I already tried to toggle:
mk_add_options MOZ_GECKO_PROFILER=1
mk_add_options MOZ_GECKO_PROFILER_PARSE_ELF=1
and also tried to remove it both from the mozconfig and also from mozilla-config.h - no effect

platform is CRUX Linux x86_64

I compiled NSPR and NSS (4.34.1 / 3.99)

Actual results:

error[E0412]: cannot find type SpliceableJSONWriter in module mozilla::baseprofiler
4:37.68 --> tools/profiler/rust-api/src/gecko_bindings/glue.rs:18:46
4:37.68 |
4:37.68 18 | json_writer: &mut mozilla::baseprofiler::SpliceableJSONWriter,
4:37.68 | ^^^^^^^^^^^^^^^^^^^^ not found in mozilla::baseprofiler
4:37.68 error[E0412]: cannot find type SpliceableJSONWriter in module mozilla::baseprofiler
4:37.68 --> tools/profiler/rust-api/src/gecko_bindings/glue.rs:36:46
4:37.68 |
4:37.69 36 | json_writer: &mut mozilla::baseprofiler::SpliceableJSONWriter,
4:37.69 | ^^^^^^^^^^^^^^^^^^^^ not found in mozilla::baseprofiler
4:37.69 error[E0425]: cannot find function gecko_profiler_marker_schema_stream in module bindings

Expected results:

worked
I can test any version you like, this one is version 114.0.2
I also tested 115
configure stage succeeds and I have corrected "the clang problem" with:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshorten-64-to-32"

in all the necessary files

node/js vesion 21.7.3
icu4c version 75.1

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Version: other → unspecified

0:06.66 checking nasm version... 2.15.05
0:06.66 checking for the wasm C compiler... /mnt/apps/llvm-18/bin/clang
0:06.67 checking whether the wasm C compiler can be used... yes
0:06.67 checking the wasm C compiler version... 19.0.0
0:06.68 checking the wasm C compiler works... yes
0:06.69 checking the wasm C compiler can find wasi headers...
0:06.69 DEBUG: Creating /tmp/conftest.tdd9fna8.c with content:
0:06.69 DEBUG: | #include <string.h>
0:06.69 DEBUG: | int
0:06.69 DEBUG: | main(void)
0:06.69 DEBUG: | {
0:06.69 DEBUG: |
0:06.69 DEBUG: | ;
0:06.69 DEBUG: | return 0;
0:06.69 DEBUG: | }
0:06.69 DEBUG: Executing: /mnt/apps/llvm-18/bin/clang -std=gnu99 --target=wasm32-wasi /tmp/conftest.tdd9fna8.c -c
0:06.69 DEBUG: The command returned non-zero exit status 1.
0:06.69 DEBUG: Its error output was:
0:06.69 DEBUG: | /tmp/conftest.tdd9fna8.c:1:10: fatal error: 'string.h' file not found
0:06.69 DEBUG: | 1 | #include <string.h>
0:06.69 DEBUG: | | ^~~~~~~~~~
0:06.69 DEBUG: | 1 error generated.
0:06.69 ERROR: Cannot find wasi headers or problem with the wasm compiler. Please fix the problem. Or build with --without-wasm-sandboxed-libraries.

I managed to fix the first problem by rebuilding LLVM with WebAssembly: -DLLVM_TARGETS_TO_BUILD:STRING="X86;WebAssembly"
I could not find firefox building documentation for this dependency :(

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.