On 14 October 2016 at 01:45, Michel Dänzer <mic...@daenzer.net> wrote: > On 13/10/16 07:14 PM, Emil Velikov wrote: >> On 13 October 2016 at 04:07, Michel Dänzer <mic...@daenzer.net> wrote: >>> On 13/10/16 03:37 AM, Tobias Droste wrote: >>>> Am Mittwoch, 12. Oktober 2016, 11:53:50 CEST schrieb Emil Velikov: >>>>>> >>>>>> +LLVM_VERSION_REQUIRED_OPENCL=3.6.0 >>>>>> +LLVM_VERSION_REQUIRED_R600=3.6.0 >>>>>> +LLVM_VERSION_REQUIRED_RADEONSI=3.6.0 >>>>> >>>>> There's a small related gotcha: as-is at build time we get the >>>>> different codepaths thus, as people build against shared LLVM (hello >>>>> Archlinux, I'm looking at you) and update their LLVM without >>>>> rebuilding mesa (Arch I'm looking at you again) things go funny. >>> >>> What exactly happened there? LLVM upstream generates shared libraries >>> named libLLVM-<major>.<minor>.so*, so it shouldn't be possible for a >>> simple LLVM package update to break Mesa, unless Arch did something >>> really stupid. >>> >> The issue is not specific to Arch, but anyone who links against shared LLVM. >> >> Here is another take on it: >> At least swr and r600/radeonsi depend at _build_ time on the _patch_ >> version of LLVM. The latter of which is not part of the DSO name. Thus >> at runtime as you change your LLVM (3.9.x>3.9.y) you'll execute the >> "3.9.x" codepath even though you are be using "3.9.y" LLVM. > > That should be fine, since 3.9.y is backwards compatible with 3.9.x. > > Debian doesn't automatically recompile Mesa in such cases either, and I > haven't seen any problems there because of that. > > So, what exactly was the problem? > Just grep through for LLVM_.*PATCH and you'll see it. Portable code should not check that at compile time.
>>>>> Tl;Dr; We really want to enable static linking by default and prod >>>>> distros to use it. >>>> >>>> I'm all in favor of statically linking LLVM (that's the way I'm doing this >>>> on >>>> my pc). >>>> I think the only reason this is not done is because people (also here on >>>> the >>>> list) don't want any static linkg of external libraries because of size or >>>> whatever. >>>> So changing the default to static is easy, but I doubt it will make >>>> everyone >>>> happy ;-) >>> >>> Indeed, it'd probably make many distro packagers unhappy, because >>> they'll just have to re-enable shared linking, because packaging >>> policies generally strongly discourage if not outright forbid static >>> linking. >>> >> The toggle is there and is not going away, afaict. If people are going >> to get upset that the default does not meet their policy... just >> toggle and get on with other things ;-) > > The question is if it makes sense for the default to be different from > what the majority of users end up using. It doesn't to me. > This might be better answered once you see what I mean above ;-) Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev