Re: [PATCH] spaceman: Add missing link to libuuid

Eric Sandeen
2017-09-09T00:33:37Z

On 9/8/17 6:22 PM, Khem Raj wrote:
> On Fri, Sep 8, 2017 at 3:36 PM, Dave Chinner <david@fromorbit.com> wrote:
>> On Fri, Sep 08, 2017 at 11:24:16AM -0700, Khem Raj wrote:
>>> Hi Dave
>>>
>>> On Wed, Sep 6, 2017 at 7:40 PM, Dave Chinner <david@fromorbit.com> wrote:
>>>> On Wed, Sep 06, 2017 at 07:19:00PM -0700, Khem Raj wrote:
>>>>> When uuid is enabled then we see linking failures with gold linker e.g.
>>>>>
>>>>> libxfs/.libs/libxfs.so: error: undefined reference to 'uuid_compare'
>>>>> libxfs/.libs/libxfs.so: error: undefined reference to 'uuid_copy'
>>>>> clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
>>>>
>>>> That's libxfs, not xfs_spaceman....
>>>>
>>>>>
>>>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>> ---
>>>>> spaceman/Makefile | 2 +-
>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/spaceman/Makefile b/spaceman/Makefile
>>>>> index 95ec3c0..060e0af 100644
>>>>> --- a/spaceman/Makefile
>>>>> +++ b/spaceman/Makefile
>>>>> @@ -9,7 +9,7 @@ LTCOMMAND = xfs_spaceman
>>>>> HFILES = init.h space.h
>>>>> CFILES = init.c file.c prealloc.c trim.c
>>>>>
>>>>> -LLDLIBS = $(LIBXCMD)
>>>>> +LLDLIBS = $(LIBXCMD) $(LIBUUID)
>>>>
>>>> And spaceman doesn't link against libxfs, nor does libxcmd or
>>>> spaceman use uuids so I don't see why this fixes a problem with
>>>> libxfs...
>>>>
>>>
>>> I am building with --disable-static, I wonder if thats not a supported
>>> configuration
>>> for xfsprogs
>>
>> For what reason?
>>
>
> this is the distro policy under which I am trying to compile. No other reason.

which distro has this policy?

There are certainly policies against static linking with /external/
libraries, because if libfoo has an exploit, you'd have to find
every static linker and fix it, rather than just libfoo.

But I can't imagine a policy that says a project cannot statically
link with its own /internal/ libraries which are never distributed
separately.

-Eric