qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Problems compiling HEAD on Mac OS X 10.9.2


From: Fam Zheng
Subject: Re: [Qemu-devel] Problems compiling HEAD on Mac OS X 10.9.2
Date: Tue, 10 Jun 2014 18:41:31 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, 06/10 12:23, Rainer Müller wrote:
> On 2014-06-06 04:04, Fam Zheng wrote:
> >> Ugh. This was supposed to be fixed by commit 6295b98d7b767c.
> >> Fam, can you re-check your fix, please?
> >>
> > 
> > I don't understand that fix now, looks like it was moved onto a wrong list.
> > 
> > Rainer, does this below patch work for you? (we can't duplicate object, so 
> > sort
> > is required there).
> 
> No, unfortunately this does not work. With this patch, I end up with:
> 
> $ make V=1 qemu-img
> ...
> ... qemu-img.o qemu-io-cmds.o qemu-timer.o thread-pool.o libqemuutil.a 
> libqemustub.a  -lz -L/opt/local/lib -lcurl -L/opt/local/lib -lssh2 
> -Wl,-headerpad_max_install_names -arch x86_64 -L/opt/local/lib 
> -Wl,-headerpad_max_install_names -arch -lcurl -lssh2 -lz x86_64 
> -L/opt/local/lib -lgthread-2.0 -lglib-2.0 -lintl   -lz -lz
> clang: error: no such file or directory: 'x86_64'
> clang: error: invalid arch name '-arch -lcurl'
> make: *** [qemu-img] Error 1
> 
> 
> You really can't just sort the words as their order is important, at 
> least for some options such as "-arch" and its argument.
> 
> From config-host.mak:
> 
>   LIBSSH2_LIBS=-L/opt/local/lib -lssh2 -Wl,-headerpad_max_install_names -arch 
> x86_64
> 
> I don't understand the make function $(extract-libs) here. First the 
> contents of $o-libs is added as-is, but then it is added again filtered 
> through $(expand-objs). What is the purpose of adding it twice?

Good question. $(extract-libs) and $(expand-objs) are always used together, so
I think we can drop it, together with the sort, hoping it works this time:

diff --git a/rules.mak b/rules.mak
index b12d312..1513b0f 100644
--- a/rules.mak
+++ b/rules.mak
@@ -23,8 +23,7 @@ QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
 QEMU_INCLUDES += -I$(<D) -I$(@D)

 maybe-add = $(filter-out $1, $2) $1
-extract-libs = $(strip $(sort $(foreach o,$1,$($o-libs))) \
-                  $(foreach o,$(call expand-objs,$1),$($o-libs)))
+extract-libs = $(strip $(foreach o,$1,$($o-libs)))
 expand-objs = $(strip $(sort $(filter %.o,$1)) \
                   $(foreach o,$(filter %.mo,$1),$($o-objs)) \
                   $(filter-out %.o %.mo,$1))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]