Blue Swirl
2012-Feb-18 08:24 UTC
Re: [Qemu-devel] [PATCH] build: add needed missing libraries libm and librt
On Wed, Feb 8, 2012 at 17:06, Roger Pau Monne <roger.pau@entel.upc.edu> wrote:> libm is used in cutils.c, but the library was not specified > when linking some binaries, throwing the following error: > > cutils.o: In function `strtosz_suffix_unit': > /home/royger/xen-clean/tools/qemu-xen-dir/cutils.c:354: undefined > reference to `__isnan' > /home/royger/xen-clean/tools/qemu-xen-dir/cutils.c:357: undefined > reference to `modf' > collect2: ld returned 1 exit status > > According to modf man page [0], -lm should be used when linking. > > librt is used in qemu-time.c, but again the library was not specified > at link time, throwing the following error: > > /home/royger/xen-clean/tools/qemu-xen-dir/qemu-timer.c:597: undefined > reference to `timer_gettime' > /home/royger/xen-clean/tools/qemu-xen-dir/qemu-timer.c:610: undefined > reference to `timer_settime' > ../qemu-timer.o: In function `dynticks_start_timer': > /home/royger/xen-clean/tools/qemu-xen-dir/qemu-timer.c:565: undefined > reference to `timer_create' > ../qemu-timer.o: In function `dynticks_stop_timer': > /home/royger/xen-clean/tools/qemu-xen-dir/qemu-timer.c:583: undefined > reference to `timer_delete' > collect2: ld returned 1 exit status > > According to timer_getttime man page [1], -lrt should be used when > linking. > > [0] http://linux.die.net/man/3/modf > [1] http://linux.die.net/man/2/timer_gettimeThis is Linux man page, is this correct for all OS we support? We already have a test for -lrt in configure, but it looks like it does not detect your case correctly. You should fix that instead.> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> > --- > Makefile | 4 ++-- > Makefile.target | 2 ++ > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index 301c75e..e2c3cd4 100644 > --- a/Makefile > +++ b/Makefile > @@ -34,7 +34,7 @@ configure: ; > > $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw) > > -LIBS+=-lz $(LIBS_TOOLS) > +LIBS+=-lz -lm -lrt $(LIBS_TOOLS) > > ifdef BUILD_DOCS > DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt > @@ -170,7 +170,7 @@ test-coroutine: test-coroutine.o qemu-timer-common.o async.o $(coroutine-obj-y) > $(qapi-obj-y): $(GENERATED_HEADERS) > qapi-dir := $(BUILD_DIR)/qapi-generated > test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir) > -qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) > +qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) -lm > > $(qapi-dir)/test-qapi-types.c $(qapi-dir)/test-qapi-types.h :\ > $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py > diff --git a/Makefile.target b/Makefile.target > index a111521..95d6bc0 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -33,6 +33,8 @@ endif > PROGS=$(QEMU_PROG) > STPFILES> > +LIBS+=-lrt > + > ifndef CONFIG_HAIKU > LIBS+=-lm > endif > -- > 1.7.9 > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel