google / perfetto

Performance instrumentation and tracing for Android, Linux and Chrome (read-only mirror of https://android.googlesource.com/platform/external/perfetto/)
https://www.perfetto.dev
Apache License 2.0
2.81k stars 350 forks source link

Failed to build ui in `releases/v47.x` branch #904

Closed gaogaotiantian closed 1 week ago

gaogaotiantian commented 1 week ago

Dependency installation worked fine:

gaogaotiantian@DESKTOP-I8L3RCK:~/programs/perfetto$ tools/install-build-deps --ui
INFO:root:Running `pnpm install --shamefully-hoist --frozen-lockfile` in /home/gaogaotiantian/programs/perfetto/ui
Lockfile is up to date, resolution step is skipped
Already up to date
Done in 867ms

But

gaogaotiantian@DESKTOP-I8L3RCK:~/programs/perfetto$ ui/build
rm /home/gaogaotiantian/programs/perfetto/out/ui/ui
Entering /home/gaogaotiantian/programs/perfetto/out/ui
[01.585] 1/63   Waiting for first build to complete... 0 s
[01.585] 2/63   ../../tools/gn gen --args=is_debug=false 
Done. Made 1193 targets from 247 files in 61ms
[01.671] 3/63   ../../tools/ninja -C  trace_processor_wasm traceconv_wasm
ninja: Entering directory `/home/gaogaotiantian/programs/perfetto/out/ui'
[1/8] link wasm/trace_processor.js
FAILED: wasm/trace_processor.js 
/home/gaogaotiantian/programs/perfetto/buildtools/linux64/emsdk/emscripten/em++ --em-config /home/gaogaotiantian/programs/perfetto/gn/standalone/.emscripten -fuse-ld=lld -s WASM=1 -s ENVIRONMENT=web,worker -s DISABLE_EXCEPTION_CATCHING=1 -s NO_DYNAMIC_EXECUTION=1 -s INITIAL_MEMORY=33554432 -s MAXIMUM_MEMORY=4GB -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 -s WASM_ASYNC_COMPILATION=0 -s EXTRA_EXPORTED_RUNTIME_METHODS=\[\'ccall\',\ \'callMain\',\ \'addFunction\',\ \'FS\'\] -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s MODULARIZE=1 -s EXPORT_NAME=trace_processor_wasm -lworkerfs.js -s ASSERTIONS=1 -g2 -O3  @wasm/trace_processor.js.rsp  -lpthread -lrt -o wasm/trace_processor.js
error: undefined symbol: _ZN4llvm8demangleENSt3__217basic_string_viewIcNS0_11char_traitsIcEEEE (referenced by top-level compiled C/C++ code)
warning: Link with `-s LLD_REPORT_UNDEFINED` to get more information on undefined symbols
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
warning: __ZN4llvm8demangleENSt3__217basic_string_viewIcNS0_11char_traitsIcEEEE may need to be added to EXPORTED_FUNCTIONS if it arrives from a system library
Error: Aborting compilation due to previous errors
em++: error: '/home/gaogaotiantian/programs/perfetto/buildtools/linux64/nodejs/bin/node /home/gaogaotiantian/programs/perfetto/buildtools/linux64/emsdk/emscripten/src/compiler.js /tmp/tmp1eucm6jd.txt' failed (1)
[2/8] link wasm/traceconv.js
FAILED: wasm/traceconv.js 
/home/gaogaotiantian/programs/perfetto/buildtools/linux64/emsdk/emscripten/em++ --em-config /home/gaogaotiantian/programs/perfetto/gn/standalone/.emscripten -fuse-ld=lld -s WASM=1 -s ENVIRONMENT=web,worker -s DISABLE_EXCEPTION_CATCHING=1 -s NO_DYNAMIC_EXECUTION=1 -s INITIAL_MEMORY=33554432 -s MAXIMUM_MEMORY=4GB -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 -s WASM_ASYNC_COMPILATION=0 -s EXTRA_EXPORTED_RUNTIME_METHODS=\[\'ccall\',\ \'callMain\',\ \'addFunction\',\ \'FS\'\] -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s MODULARIZE=1 -s EXPORT_NAME=traceconv_wasm -lworkerfs.js -s ASSERTIONS=1 -g2 -O3  @wasm/traceconv.js.rsp  -lpthread -lrt -o wasm/traceconv.js
error: undefined symbol: _ZN4llvm8demangleENSt3__217basic_string_viewIcNS0_11char_traitsIcEEEE (referenced by top-level compiled C/C++ code)
warning: Link with `-s LLD_REPORT_UNDEFINED` to get more information on undefined symbols
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
warning: __ZN4llvm8demangleENSt3__217basic_string_viewIcNS0_11char_traitsIcEEEE may need to be added to EXPORTED_FUNCTIONS if it arrives from a system library
Error: Aborting compilation due to previous errors
em++: error: '/home/gaogaotiantian/programs/perfetto/buildtools/linux64/nodejs/bin/node /home/gaogaotiantian/programs/perfetto/buildtools/linux64/emsdk/emscripten/src/compiler.js /tmp/tmpmkie668z.txt' failed (1)
ninja: build stopped: subcommand failed.
/home/gaogaotiantian/programs/perfetto/tools/ninja -C /home/gaogaotiantian/programs/perfetto/out/ui trace_processor_wasm traceconv_wasm failed with code 1

This is just the release branch without any modification.

LalitMaganti commented 1 week ago

I assume this is an upgrade from a previous version of the UI. Please run rm -rf out/ui when uprevving the UI.

gaogaotiantian commented 1 week ago

Thank you, that is super helpful.