Wednesday, May 22, 2019

Re: PATCH: include-what-you-use needs libLLVM-7.so at runtime

On Tue, Feb 12 2019, Stuart Henderson <stu@spacehopper.org> wrote:
> On 2019/02/12 22:39, Jonathan Gray wrote:
>> On Mon, Feb 11, 2019 at 09:03:52PM +0100, Caspar Schutijser wrote:
>> > Hi,
>> >
>> > $ ldd /usr/local/bin/include-what-you-use | grep libLLVM
>> > 000000885d7d1000 000000886139c000 rlib 0 1 0 /usr/local/lib/libLLVM-7.so
>> >
>> > Therefore, include-what-you-use won't run unless the llvm package is
>> > installed. The diff below makes sure llvm is installed when the user
>> > installs include-what-you-use but I'm not sure it is the right way
>> > to do it.
>>
>> Shouldn't it instead be added to LIB_DEPENDS and have a WANTLIB for
>> LLVM-7 ?
>
> I'd prefer that, but then the library would need a normal .so.X.Y filename.

I've just applied a similar fix in devel/llvm, for the lldb subpackage.

--8<--
CVSROOT: /cvs
Module name: ports
Changes by: jca@cvs.openbsd.org 2019/05/22 04:29:00

Modified files:
devel/llvm : Makefile

Log message:
Set devel/llvm as a RUN_DEPENDS for lldb, not a LIB_DEPENDS

Since libLLVM-x.so isn't a properly versioned shared library, we can't
use LIB_DEPENDS/WANTLIB to register the dep.
-->8--

Before I spend time on this, do people know which problems prevent us
from making libLLVM.so a properly versioned shared library?

I would expect that using libLLVM-7.so.0.0 shouldn't be a problem as
long as we keep the libLLVM.so and libLLVM-x.y.z.so symlinks. Using the
versioned name would also avoid a conflict with libLLVM.so.0.0 in base,
at the cost of some WANTLIB churn when updating devel/llvm.

No diff yet, input welcome.

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE

No comments:

Post a Comment