JonChesterfield added a comment.

That works if you have one toolchain installed globally or you are happy to 
cobble together a working system using environment variables. If you have 
multiple toolchains, they can't all sit in the global directory. If you don't 
have root, you can't install them there.

Previously we required people to set LD_LIBRARY_PATH to use openmp at all. 
That's an inherently poor UX and interacted especially poorly with module setup 
systems found in HPC.

We could make this opt-in, at the cost of new users seeing that openmp just 
doesn't work out of the box and other ones having to modify build scripts. In 
exchange we get - consistency with other tools that fail to work without global 
installation or extra user burden.

In my opinion dynamically linking language runtimes is a bad default. It wins 
us an awful lot of failure modes. I've also argued against being able to swap 
out individual components via environment variables as way too error prone for 
a user facing interface. This is what the community consensus went for. The 
combination of dynamically substitutable and requiring LD_LIBRARY_PATH was 
especially sharp.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118493/new/

https://reviews.llvm.org/D118493

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to