diff mbox

spaceman: Add missing link to libuuid

Message ID 20170907021900.41040-1-raj.khem@gmail.com (mailing list archive)
State Rejected
Headers show

Commit Message

Khem Raj Sept. 7, 2017, 2:19 a.m. UTC
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)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 spaceman/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dave Chinner Sept. 7, 2017, 2:40 a.m. UTC | #1
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...

Cheers,

Dave.
Khem Raj Sept. 7, 2017, 4:11 a.m. UTC | #2
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....

yes its libxfs but its linking spaceman, I chopped the error logs too
much I guess.

>
>>
>> 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 was just following what other binaries were doing, otherwise I agree
libuuid should appear in DT_NEEDED flags in libxfs.so so linkers can
pull it in automatically.

try using

LDFLAGS = "-fuse-ld=gold" if you want to reproduce the problem on your end.

>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dave Chinner Sept. 7, 2017, 6:59 a.m. UTC | #3
On Wed, Sep 06, 2017 at 09:11:11PM -0700, Khem Raj wrote:
> 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....
> 
> yes its libxfs but its linking spaceman, I chopped the error logs too
> much I guess.

xfs_spaceman does not link against libuuid:

$ ldd spaceman/xfs_spaceman 
	linux-vdso.so.1 (0x00007ffca4f68000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa36f358000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fa36f6f7000)

Nor libxfs - if it linked against libxfs, it would have to pull in
4 other libraries, including libuuid:

$ ldd repair/xfs_repair 
	linux-vdso.so.1 (0x00007ffd96bb4000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f5da2d4f000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5da2b47000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5da292a000)
	libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f5da26e4000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5da2345000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5da2f54000)

So whatever build error you are having has nothing to do with
xfs_spaceman. Have you installed all the necessary libraries?

> >> 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 was just following what other binaries were doing, otherwise I agree
> libuuid should appear in DT_NEEDED flags in libxfs.so so linkers can
> pull it in automatically.
> 
> try using
> 
> LDFLAGS = "-fuse-ld=gold" if you want to reproduce the problem on your end.

$ gold -V
GNU gold (GNU Binutils for Debian 2.29) 1.14
$ make distclean
....
$ LDFLAGS="-fuse-ld=gold" make -j8 Q=
....
[LD]     xfs_spaceman
/bin/bash ../libtool --quiet --tag=CC --mode=link gcc -o xfs_spaceman -fuse-ld=gold -fuse-ld=gold  -fuse-ld=gold  -fuse-ld=gold -static  init.o file.o prealloc.o trim.o freesp.o   ../libxcmd/libxcmd.la
.....
$ ldd spaceman/xfs_spaceman 
	linux-vdso.so.1 (0x00007ffc943e4000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2def2e2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f2def681000)

TOT builds just fine here on debian unstable using the gold linker,
and again this shows that spaceman does not link against libuuid.

Cheers,

Dave.
Khem Raj Sept. 8, 2017, 6:24 p.m. UTC | #4
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

> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Sandeen Sept. 8, 2017, 7:15 p.m. UTC | #5
On 9/8/17 1:24 PM, 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

Still doesn't make spaceman link against libxfs or use uuids ;)

I guess I'd suggest starting w/ x86 and a standard toolchain, make
--disable-static work for you there (I see that it does need some
fixups), then try things w/ the alternate toolchain and see
if more work is needed.

-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Khem Raj Sept. 8, 2017, 8:38 p.m. UTC | #6
On Fri, Sep 8, 2017 at 12:15 PM, Eric Sandeen <sandeen@sandeen.net> wrote:
> On 9/8/17 1:24 PM, 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
>
> Still doesn't make spaceman link against libxfs or use uuids ;)
>
> I guess I'd suggest starting w/ x86 and a standard toolchain, make
> --disable-static work for you there (I see that it does need some
> fixups), then try things w/ the alternate toolchain and see
> if more work is needed.

I do see indirect dependency though
libxcmd needs platform_findsizes symbol
 from libxfs

I agree, there is some work needed to get it going with --disable-static
>
> -Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dave Chinner Sept. 8, 2017, 10:36 p.m. UTC | #7
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?

xfsprogs links it's internal libraries statically while it links to
system libraries dynamically. We do not expose internal libraries
like libxfs and libxcmd outside the build environment, and so
dynamic linking of them doesn't make any sense because they won't be
installed on any system you ship the binaries to....

Cheers,

Dave.
Khem Raj Sept. 8, 2017, 11:22 p.m. UTC | #8
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.

> xfsprogs links it's internal libraries statically while it links to
> system libraries dynamically. We do not expose internal libraries
> like libxfs and libxcmd outside the build environment, and so
> dynamic linking of them doesn't make any sense because they won't be
> installed on any system you ship the binaries to....
>

Thats what I needed to know. I will remove --disable-static and both patches
I sent I no more needed.


> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Sandeen Sept. 9, 2017, 12:33 a.m. UTC | #9
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

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Khem Raj Sept. 9, 2017, 12:36 a.m. UTC | #10
On Fri, Sep 8, 2017 at 5:33 PM, Eric Sandeen <sandeen@sandeen.net> wrote:
> 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?

Custom distro based on yocto

>
> 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.
>

I think you are right, in this case we should just make --disable-static
to be no op or unsupported option in configure

> -Eric
>
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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)
 LTDEPENDENCIES = $(LIBXCMD)
 LLDFLAGS = -static