Dear AF, first of all, thank you for your reply, your reply is very helpful!
When I try to remove the old objc(eg.libobjc4), clang* and llvm* are also
removed. Since the old objc may conflict with objc2, is it possible to remove
the old objc directly and have all packages on the system use
I see you are trying on Debian 12.
Things to remember on Debian if you use llvm and ARC.
1. you must use the new runtime libobjc2
2. always use the gold linker and not the default "ld.bfd" linker or you will
end up compiling but not working
easiest way to change this is by changing the
Erorr: Version 2 Objective-C ABI may not be mixed with earlier versions. Aborted
I wasted almost a week in this problem, all kinds of methods have been tried or
not solved, I hope to get your help! I've already referred to
"https://github.com/gnustep/libobjc2/issues/196; and