[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

Liviu Ionescu via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 3 14:39:17 PDT 2023


ilg-ul wrote:

> You make it sound like nobody else might ever have used such symlinks before - isn't that quite a big assumption?

Ah, sorry for the confusion, I did not intend to make it sound like a big assumption. 

I'm convinced that such links were occasionally used before, just that the result was not necessarily an error, I would say that in most cases using the system libraries is functional, and this explains why such cases were not reported till now.

However, in the npm/xpm ecosystem, by design, instead of adding lots of paths to the PATH, the installer add symlinks to a local .bin folder, and all binaries are invoked via these links (on windows things are more complicated, `.cmd` shims are used). This is why this issue hit me to the point of searching for a fix. And to make things worse, the xPack build environment (used to build all my binary tools) uses the latest compilers, but runs them on slightly older build machines (for example clang 16 on macOS 10.13), in other words the distance between the two clang versions is large, and builds fail with the system libraries, although clang 16 has much newer libraries.

So, I don't want to minimise others experiences, I just wanted to explain how I got into this.

> I agree that the current interpretation of symlinks here does seem weird and that it probably would be right to change it. 

Ok, thank you.




https://github.com/llvm/llvm-project/pull/68091


More information about the cfe-commits mailing list