On 11/16/23 18:28, Andrey Semashev wrote:
On 11/16/23 18:14, Peter Dimov via Boost wrote:
Matthijs Möhlmann wrote:
There's no linker= feature, but I suppose you can try
linkflags=-fuse-ld=lld-16
since I see that in LDFLAGS in your log.
Ok, tried that. Same error although somewhat different output. I go with your suggestion and keep 'stdlib=libc++ cxxstd=20'.
Is the correct location to report this bug: https://github.com/boostorg/filesystem/issues ?
Looks like it is, as the problem seems confined to Filesystem.
So far I don't see this as a Boost.Filesystem bug. The missing symbols (at least, those which were posted here earlier) are standard C++ symbols, which by default should be linked automatically by the compiler. If the compiler doesn't do that, this is a compiler bug as far as I'm concerned. So the right place to report it is:
https://github.com/llvm/llvm-project/issues/
Incidentally, I have reported a similar problem before here:
https://github.com/llvm/llvm-project/issues/60578
and it looks like it hasn't been fixed yet.
As for a workaround, I suspect the problem can be worked around by manually adding linking with the standard library that defines those missing symbols. For example, `operator delete` is defined in libc++abi, so you may fix the problem by adding `linkflags=c++abi` to `b2` command line.
Sorry, the command line option should be `linkflags=-lc++abi`.