[Openmp-commits] [PATCH] D71988: [OpenMP][WIP] Make the kmp_depend_info type fit in 128 bits.

Roman Lebedev via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Dec 30 06:20:04 PST 2019


lebedev.ri added a comment.

In D71988#1798870 <https://reviews.llvm.org/D71988#1798870>, @JonChesterfield wrote:

> I"d like to understand that use case. Someone compiles libomp from trunk, pastes it over the version from repos, but leaves the rest of the toolchain unchanged. Breakage seems a fair result.
>
> I've always shipped toolchains as a cohesive package. Various binaries, libraries, header files install to some directory and reference each other. Rpath et al.
>
> I think you're suggesting multiple compilers share a single directory containing dependencies that work with all of them. I see the cost of that setup - why would it be preferred?


I quite literally only stated how things are as of right now.
It is possible to install multiple clang versions sumilteniously:

  $ dpkg -l | grep clang
  ii  clang-10                                                    1:10~+20191227100609+c3dbd782f1e-1~exp1~20191227211208.2957 amd64        C, C++ and Objective-C compiler
  ii  clang-8                                                     1:8.0.1-4                                                   amd64        C, C++ and Objective-C compiler
  ii  clang-9                                                     1:9.0.1-2                                                   amd64        C, C++ and Objective-C compiler

But not so much `libomp`:

  $ dpkg -l | grep libomp
  ii  libomp-10-dev                                               1:10~+20191227100609+c3dbd782f1e-1~exp1~20191227211208.2957 amd64        LLVM OpenMP runtime - dev package
  ii  libomp-10-dev-dbgsym                                        1:10~+20191227100609+c3dbd782f1e-1~exp1~20191227211208.2957 amd64        debug symbols for libomp-10-dev
  ii  libomp5-10:amd64                                            1:10~+20191227100609+c3dbd782f1e-1~exp1~20191227211208.2957 amd64        LLVM OpenMP runtime
  ii  libomp5-10-dbgsym:amd64                                     1:10~+20191227100609+c3dbd782f1e-1~exp1~20191227211208.2957 amd64        debug symbols for libomp5-10
  $ sudo apt install libomp5-9
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  The following packages will be REMOVED:
    libomp-10-dev libomp-10-dev-dbgsym libomp5-10 libomp5-10-dbgsym
  The following NEW packages will be installed:
    libomp5-9
  0 upgraded, 1 newly installed and 39 not upgraded.
  Need to get 333 kB of archives.
  After this operation, 752 kB disk space will be freed.
  Do you want to continue? [Y/n] ^C

Which is consistent with how `libomp` is installed (no major version bumps between releases!), and how clang links to it:

  $ ldd <some binary built with -fopenmp> | grep omp
          libomp.so.5 => /lib/x86_64-linux-gnu/libomp.so.5 (0x00007f9b6da18000)

So it may be best to first invest into soversion bumps,etc to avoid silent earth-shattering ABI breakages.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71988





More information about the Openmp-commits mailing list