Aaron Puchert changed bug 1175983
What Removed Added
Status NEW RESOLVED
Resolution --- WONTFIX

Comment # 3 on bug 1175983 from
(In reply to Ulrich Windl from comment #2)
> Screenshot when trying to upgrade clang-devel from 7.01 to 9.01 in YaST
Thanks, that's the info I needed.

> (In reply to Aaron Puchert from comment #1)
> > If you need to keep one of those llvm7 subpackages, you can't have
> > llvm-devel 9.
> 
> Two issues with that:
> Aren't the package names "clang7" vs. "clang9" chosen to _allow_
> co-existance of both versions?
Yes, and you can have both clang7 and clang9 installed. Similarly for llvmX,
and obviously libclangX and libLLVMX. But devel packages of different versions
can generally not coexist: they contain header files (what should "#include
<clang-c/Index.h>" do when multiple versions are installed?) and an unversioned
symlink like libclang.so -> libclang.so.9, for example. That's needed to make
"-lclang" on the linker command line work. So we can have only one.

The other thing is llvmX-gold and llvmX-polly. These are actually plugins, and
are currently unversioned, so they can't coexist. Allowing them to coexist is
not trivial unfortunately. For polly we'd need some logic in Clang probably to
make sure we pull in the right version, and for the gold plugin I'm actually
not sure whether that's passed as an argument by Clang or whether ld.gold
chooses that by itself. Given that the package contains a symlink in
/usr/lib/bfd-plugins/ I'm suspecting the latter.

> And if not, wouldn't "Obsoletes:" package
> metadata help zypper to resolve the conflict?
I'm not sure about that, because LLVM is not backwards-compatible across major
versions in some ways. So we are in fact not obsoleting the old packages. If
you happen to be interested in Haskell and want to compile ghc with LLVM
support, you'll need a specific version, for example. You can't use the newest
version.

So if you don't mind I'll close this, because it's mostly expected and with
regards to gold and polly hard to change. Of course I'll take patches (ideally
if they have landed upstream), but I don't have the time to work on it myself.


You are receiving this mail because: