[libvirt] [PATCH] src: Move DLOPEN_LIBS to libraries introducing the dependency

Michal Prívozník mprivozn at redhat.com
Mon Aug 13 05:26:09 UTC 2018


On 08/12/2018 11:46 PM, Julio Faracco wrote:
> Hi guys,
> 
> Em sex, 10 de ago de 2018 às 11:23, Jim Fehlig <jfehlig at suse.com> escreveu:
>>
>> On 08/09/2018 11:45 PM, Michal Privoznik wrote:
>>> There are few places where dlopen() is called. This call means we
>>> have to link with DLOPEN_LIBS. However, instead of having each
>>> final, installable library linking with it, move the directive to
>>> the source that introduced the dependency.
>>>
>>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>>
>> Reviewed-by: Jim Fehlig <jfehlig at suse.com>
>>
>>> ---
>>>   src/Makefile.am          | 2 ++
>>>   src/util/Makefile.inc.am | 1 +
>>>   tools/Makefile.am        | 4 ++--
>>>   3 files changed, 5 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/Makefile.am b/src/Makefile.am
>>> index a4f213480e..61876cf382 100644
>>> --- a/src/Makefile.am
>>> +++ b/src/Makefile.am
>>> @@ -752,6 +752,7 @@ libvirt_setuid_rpc_client_la_CFLAGS = \
>>>               $(AM_CFLAGS) \
>>>               $(SECDRIVER_CFLAGS) \
>>>               $(XDR_CFLAGS) \
>>> +             $(DLOPEN_LIBS) \
>>>               $(NULL)
>>>   endif WITH_SETUID_RPC_CLIENT
> 
> I think that DLOPEN_LIBS is not needed for setuid_rpc_client.
> See the error when I enable RPC libraries:
> clang: error: -ldl: 'linker' input unused
> [-Werror,-Wunused-command-line-argument]
> Makefile:9014: recipe for target
> 'util/libvirt_setuid_rpc_client_la-viralloc.lo' failed


Ah, so the library compiles virjsoncompact.c in which I used as an
indication where to put DLOPEN_LIBS. But now that I look at it closer it
doesn't make sense for the lib to compile in the file because in
config-post.h we clearly disable JANSSON support.

Sigh, this jansson has brought more problems than it solved.

Anyway, I think this is the fix:

diff --git i/src/Makefile.am w/src/Makefile.am
index 61876cf382..d9bce1e8ab 100644
--- i/src/Makefile.am
+++ w/src/Makefile.am
@@ -689,7 +689,6 @@ libvirt_setuid_rpc_client_la_SOURCES = \
                util/virhashcode.c \
                util/virhostcpu.c \
                util/virjson.c \
-               util/virjsoncompat.c \
                util/virlog.c \
                util/virobject.c \
                util/virpidfile.c \
@@ -752,7 +751,6 @@ libvirt_setuid_rpc_client_la_CFLAGS = \
                $(AM_CFLAGS) \
                $(SECDRIVER_CFLAGS) \
                $(XDR_CFLAGS) \
-               $(DLOPEN_LIBS) \
                $(NULL)
 endif WITH_SETUID_RPC_CLIENT


Can you test it please? I'm no longer confident around jansson.

Michal




More information about the libvir-list mailing list