Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 578776 - media-libs/mesa-11.1.2-r1[llvm] fails to (re-)build against sys-devel/llvm-3.7.1-r1: Could not find llvm shared libraries
Summary: media-libs/mesa-11.1.2-r1[llvm] fails to (re-)build against sys-devel/llvm-3....
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-01 19:47 UTC by Adrian Bassett
Modified: 2016-04-11 07:02 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Bassett 2016-04-01 19:47:19 UTC
After upgrading from llvm-3.7.1 to llvm-3.7.1-r1 a revdep-rebuild of mesa-11.1.2-r1 was required.  This rebuild failed with the following: 

configure: error: Could not find llvm shared libraries:
        Please make sure you have built llvm with the --enable-shared option
        and that your llvm libraries are installed in /usr/lib32
        If you have installed your llvm libraries to a different directory 
        you can use the --with-llvm-prefix= configure flag to specify       
        this directory.
        NOTE: Mesa is attempting to use llvm shared libraries by default.
        If you do not want to build with llvm shared libraries and instead
        want to use llvm static libraries then add --disable-llvm-shared-libs
        to your configure invocation and rebuild.

The reason for this is as per https://bugs.gentoo.org/show_bug.cgi?id=578392#c0 which notes (actually for the masked 3.8.0) that 'All component libraries are static again instead of shared'.

Indeed there are plenty of *LLVM*.a in /usr/lib{32,64} but no *LLVM.so (well, apart from LLVMHello.so and LLVMgold.so) in contrast with the 3.7.1 build where shared libraries are present in abundance.  This seems kind of ironic given that one of the changes claimed by 3.7.1-r1 is:

'backported r252532 that adds better shared linking support'

which is not obviously the case.

Note that as per my comments in https://bugs.gentoo.org/show_bug.cgi?id=578512#c2 I built 3.7.1-r1 using LLVM_LINK_LLVM_DYLIB rather than BUILD_SHARED_LIBS, cf. https://bugs.gentoo.org/show_bug.cgi?id=578392#c2 and references.

So it seems that mesa-11.1.2-r1[llvm] will not build against llvm-3.7.1-r1 and this should be flagged in some way.
Comment 1 Adrian Bassett 2016-04-01 20:53:44 UTC
(In reply to Adrian.Bassett from comment #0)

> So it seems that mesa-11.1.2-r1[llvm] will not build against llvm-3.7.1-r1
> and this should be flagged in some way.

Which is not to say that mesa[-llvm] cannot itself be built with llvm-3.7.1-r1, only that the LLVM backend for Gallium3D can't be enabled by USE=llvm. I'm not entirely sure about the implications of this and whether or not overall funcionality is hereby lost.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-04-11 07:02:54 UTC
(In reply to Adrian.Bassett from comment #0)
> Note that as per my comments in
> https://bugs.gentoo.org/show_bug.cgi?id=578512#c2 I built 3.7.1-r1 using
> LLVM_LINK_LLVM_DYLIB rather than BUILD_SHARED_LIBS, cf.
> https://bugs.gentoo.org/show_bug.cgi?id=578392#c2 and references.

And here's your answer. If you enable all the static libs, you get static libs. Simple as that. The single dylib nonsense may require additional backported patches but it shouldn't be used anyway because it's pure nonsense.