tstellar added a comment.

In D118493#3398808 <https://reviews.llvm.org/D118493#3398808>, @JonChesterfield 
wrote:

> It lets applications run with the libomp and libomptarget built with the 
> toolchain. For users, they don't have to be root. For compiler devs, we test 
> our work instead of whatever the distro had installed.
>
> There's no info at that link. What's 'broken rpath'? If they mean runpath, 
> then it's really on fedora to have Wl,--rpath set rpath instead of runpath. 
> Setting the default in the linker to the one your own build tools reject will 
> break everything, not just llvm openmp.
>
> Edit: https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
> Doesn't mean runpath. There's a list of strings Fedora (IBM?) have decided 
> they don't like, named 'broken' or 'invalid', and declared shall not be 
> present. Page doesn't go into the rpath/runpath distinction, maybe they mean 
> for the string restrictions to apply to both.

I'm not sure I follow this, but there is a script run after every RPM built for 
fedora that checks for RUNPATH (among other things in the binary).  I have been 
building packages for Fedora with clang14 and the script fails for packages 
built with clang + -fopenmp

> Can't tell which rule we're violating (will need to work out what the install 
> directory resolves to on fedora), though the one about executing untrusted 
> code seems likely, where untrusted seems to be anything not owned by root. 
> E.g. applications people have written themselves.

The rule that is broken is "standard RPATHs" Fedora installs libomp to 
/usr/lib64.

> We can introduce a cmake flag that changes the default on this commandline 
> argument, set when building on Fedora (and maybe redhat, centos-stream, 
> others). That'll annoy anyone developing openmp on, or using a local llvm 
> build on, Fedora but that might be zero people and they could override the 
> cmake flag and disable the build checking scripts.

I don't really like adding CMake options for things like this.  I think what 
we'll do in Fedora is just add -fno-openmp-implicit-rpath to the default CFLAGS 
so we can get the old behavior for official RPMs.

> Or disable building openmp on Fedora, that seems reasonable too.

We want to be able to build packages that use OpenMP, so disabling is not 
really an option.


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