From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60390) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrtOJ-00088l-9S for qemu-devel@nongnu.org; Fri, 12 Aug 2011 11:11:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QrtOI-0000Pn-20 for qemu-devel@nongnu.org; Fri, 12 Aug 2011 11:11:19 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:51996) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrtOH-0000Pe-Ku for qemu-devel@nongnu.org; Fri, 12 Aug 2011 11:11:18 -0400 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e36.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p7CF4qi6011052 for ; Fri, 12 Aug 2011 09:04:52 -0600 Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p7CFB8xu144830 for ; Fri, 12 Aug 2011 09:11:12 -0600 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p7C9B61X019247 for ; Fri, 12 Aug 2011 03:11:07 -0600 Message-ID: <4E45428A.2010308@linux.vnet.ibm.com> Date: Fri, 12 Aug 2011 10:11:06 -0500 From: Michael Roth MIME-Version: 1.0 References: <1313095092-25092-1-git-send-email-mdroth@linux.vnet.ibm.com> <1313095092-25092-2-git-send-email-mdroth@linux.vnet.ibm.com> <4E4533B0.2040908@us.ibm.com> In-Reply-To: <4E4533B0.2040908@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] guest agent: remove uneeded dependencies List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org On 08/12/2011 09:07 AM, Anthony Liguori wrote: > On 08/11/2011 03:38 PM, Michael Roth wrote: >> This patch tries to cull any uneeded library dependencies from the guest >> agent to improve portability across various distros. We do so by being >> as explicit as possible about in-tree dependencies rather than relying >> on existing *-obj-y targets, and by manually setting LIBS for the >> qemu-ga target to avoid pulling in LIBS_TOOLS libraries discovered by >> configure. >> >> Signed-off-by: Michael Roth > > This breaks the build for me: > > qga/guest-agent-command-state.o: In function > `ga_command_state_cleanup_all': > /home/anthony/git/qemu/qga/guest-agent-command-state.c:64: undefined > reference to `g_assertion_message_expr' > qga/guest-agent-command-state.o: In function `ga_command_state_init_all': > /home/anthony/git/qemu/qga/guest-agent-command-state.c:49: undefined > reference to `g_slist_foreach' > qga/guest-agent-command-state.o: In function > `ga_command_state_cleanup_all': > /home/anthony/git/qemu/qga/guest-agent-command-state.c:65: undefined > reference to `g_slist_foreach' > Hmm, I'm not seeing it on Ubuntu or RHEL. I can reproduce if I force LIBS_QGA="", however. Did you re-run configure after applying? > Regards, > > Anthony Liguori > >> --- >> Makefile | 8 ++++---- >> Makefile.objs | 9 +++++++++ >> configure | 3 +++ >> 3 files changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/Makefile b/Makefile >> index 9e5871b..ccf52ab 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -166,6 +166,7 @@ test-coroutine: test-coroutine.o >> qemu-timer-common.o async.o $(coroutine-obj-y) >> $(qapi-obj-y): $(GENERATED_HEADERS) >> qapi-dir := qapi-generated >> test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): QEMU_CFLAGS += -I >> $(qapi-dir) >> +qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) >> >> $(qapi-dir)/test-qapi-types.c: $(qapi-dir)/test-qapi-types.h >> $(qapi-dir)/test-qapi-types.h: $(SRC_PATH)/qapi-schema-test.json >> $(SRC_PATH)/scripts/qapi-types.py >> @@ -192,12 +193,11 @@ test-visitor: test-visitor.o qfloat.o qint.o >> qdict.o qstring.o qlist.o qbool.o $ >> test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c >> test-qapi-types.h test-qapi-visit.c test-qapi-visit.h >> test-qmp-marshal.c test-qmp-commands.h) $(qapi-obj-y) >> test-qmp-commands: test-qmp-commands.o qfloat.o qint.o qdict.o >> qstring.o qlist.o qbool.o $(qapi-obj-y) error.o osdep.o qemu-malloc.o >> $(oslib-obj-y) qjson.o json-streamer.o json-lexer.o json-parser.o >> qerror.o qemu-error.o qemu-tool.o $(qapi-dir)/test-qapi-visit.o >> $(qapi-dir)/test-qapi-types.o $(qapi-dir)/test-qmp-marshal.o module.o >> >> -QGALIB=qga/guest-agent-command-state.o qga/guest-agent-commands.o >> QGALIB_GEN=$(addprefix $(qapi-dir)/, qga-qapi-types.c qga-qapi-types.h >> qga-qapi-visit.c qga-qmp-marshal.c) >> - >> $(QGALIB_GEN): $(GENERATED_HEADERS) >> -$(QGALIB) qemu-ga.o: $(QGALIB_GEN) $(qapi-obj-y) >> -qemu-ga$(EXESUF): qemu-ga.o $(QGALIB) qemu-tool.o qemu-error.o >> error.o $(oslib-obj-y) $(trace-obj-y) $(block-obj-y) $(qobject-obj-y) >> $(version-obj-y) $(qapi-obj-y) qemu-timer-common.o qemu-sockets.o >> module.o qapi/qmp-dispatch.o qapi/qmp-registry.o >> $(qapi-dir)/qga-qapi-visit.o $(qapi-dir)/qga-qapi-types.o >> $(qapi-dir)/qga-qmp-marshal.o >> +$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) >> + >> +qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(qapi-obj-y) $(trace-obj-y) >> $(qobject-obj-y) $(version-obj-y) $(addprefix $(qapi-dir)/, >> qga-qapi-visit.o qga-qapi-types.o qga-qmp-marshal.o) >> >> QEMULIBS=libhw32 libhw64 libuser libdis libdis-user >> >> diff --git a/Makefile.objs b/Makefile.objs >> index 432b619..bb8af56 100644 >> --- a/Makefile.objs >> +++ b/Makefile.objs >> @@ -393,6 +393,15 @@ qapi-nested-y = qapi-visit-core.o >> qmp-input-visitor.o qmp-output-visitor.o qapi- >> qapi-nested-y += qmp-registry.o qmp-dispatch.o >> qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y)) >> >> +###################################################################### >> +# guest agent >> + >> +qga-nested-y = guest-agent-commands.o guest-agent-command-state.o >> +qga-obj-y = $(addprefix qga/, $(qga-nested-y)) >> +qga-obj-y += qemu-ga.o qemu-tool.o qemu-error.o qemu-sockets.o >> module.o qemu-malloc.o qemu-option.o cutils.o osdep.o >> +qga-obj-$(CONFIG_WIN32) += oslib-win32.o >> +qga-obj-$(CONFIG_POSIX) += oslib-posix.o >> + >> vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) >> >> vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) >> diff --git a/configure b/configure >> index 0c67a4a..8a566af 100755 >> --- a/configure >> +++ b/configure >> @@ -92,6 +92,7 @@ libs_tools="" >> audio_pt_int="" >> audio_win_int="" >> cc_i386=i386-pc-linux-gnu-gcc >> +libs_qga="" >> >> target_list="" >> >> @@ -1850,6 +1851,7 @@ if test "$guest_agent" != "no" ; then >> glib_libs=`$pkg_config --libs glib-2.0 2>/dev/null` >> libs_softmmu="$glib_libs $libs_softmmu" >> libs_tools="$glib_libs $libs_tools" >> + libs_qga="$glib_libs $libs_qga" >> else >> echo "glib-2.0 required to compile QEMU" >> exit 1 >> @@ -3109,6 +3111,7 @@ echo "ARLIBS_END=$arlibs_end">> $config_host_mak >> echo "LIBS+=$LIBS">> $config_host_mak >> echo "LIBS_TOOLS+=$libs_tools">> $config_host_mak >> echo "EXESUF=$EXESUF">> $config_host_mak >> +echo "LIBS_QGA+=$libs_qga">> $config_host_mak >> >> # generate list of library paths for linker script >> >