-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.team-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine teamworkaround availableThere is a workaround available to overcome the issueThere is a workaround available to overcome the issue
Description
Summary
A change in the libcxx configuration does not cause a recompilation of abseil
Expected behaviour
A change in any of the libcxx configuration files should result in a recompilation of anything downstream that depends on it.
Actual behaviour
The abseil library does not recompile, which results in linking errors if libcxx is changed, eg:
FAILED: [code=1] shader_archiver exe.unstripped/shader_archiver
../../flutter/buildtools/linux-x64/clang/bin/clang++ -Wl,--fatal-warnings -m64 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -pthread -Wl,--undefined-version --sysroot=../../build/linux/debian_bullseye_amd64-sysroot -Wl,-rpath=\$ORIGIN/ -Wl,-rpath-link= -Wl,--disable-new-dtags -o ./exe.unstripped/shader_archiver -Wl,--build-id=sha1 -Wl,--start-group @./shader_archiver.rsp -Wl,--end-group -ldl && ../../flutter/buildtools/linux-x64/clang/bin/llvm-objcopy --strip-all ./exe.unstripped/shader_archiver ./shader_archiver
ld.lld: error: undefined symbol: std::_fl::chrono::steady_clock::now()
>>> referenced by kernel_timeout.cc:43 (out/host_debug_unopt/../../third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc:43)
>>> obj/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout_internal.kernel_timeout.o:(absl::synchronization_internal::KernelTimeout::SteadyClockNow())
Steps to reproduce.
- Build the engine on Linux
- Edit
engine/src/flutter/build/secondary/flutter/third_party/libcxx/config/__config_siteas follows -
- #define _LIBCPP_ABI_NAMESPACE _fl
+ #define _LIBCPP_ABI_NAMESPACE __fl
- rebuild the engine with ninja, eg
ninja -C engine/src/out/host_debug_unopt
Workaround
Delete the output folder and perform a complete rebuild from scratch.
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.team-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine teamworkaround availableThere is a workaround available to overcome the issueThere is a workaround available to overcome the issue