Hi Asias, Remember this patch? :-) I didn't... oops. On 09/01/12 18:51, Asias He wrote: > On 01/09/2012 02:45 PM, Matt Evans wrote: >> This commit adds a target for 'lkvm-static' which is linked -static. >> >> (This can be useful to construct kvmtool binaries for minimalist >> auto-test host filesystems.) > > This is useful. However, It fails to build for me. Some problem with > sdl, bfd and vnc library. Log attached. OK, so I've been building statically without the (autodetected) SDL/BFD/VNC libraries, and this works fine on PPC64 and x86. I'm not quite sure why the libSDL.a/libbfd.a etc. don't statically link. Sasha's idea of "disable things that don't link correctly" is a good one, though I'm not a Make guru and can't see how to retrospectively unset 'has_SDL', 'has_vncserver' etc. IFF the makefile target is lkvm-static :( (I guess one way is to try to find every .o that depends on CONFIG_SDL, for example, and add another target compiled without -DCONFIG_SDL :( Ew, and I don't know how to do this.) This would be easier if we had a proper config system.. In lieu of any good lightweight solutions, can we include this patch as it is still useful for builds on systems without the offending optional libraries? Cheers, Matt > >> >> Signed-off-by: Matt Evans <matt@xxxxxxxxxx> >> --- >> >> V2: Argh! Let's remove it on make clean, too... >> >> tools/kvm/Makefile | 6 +++++- >> 1 files changed, 5 insertions(+), 1 deletions(-) >> >> diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile >> index d54fa47..ebc0c7c 100644 >> --- a/tools/kvm/Makefile >> +++ b/tools/kvm/Makefile >> @@ -233,6 +233,10 @@ $(PROGRAM): $(DEPS) $(OBJS) >> $(E) " LINK " $@ >> $(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@ >> >> +$(PROGRAM)-static: $(DEPS) $(OBJS) >> + $(E) " LINK " $@ >> + $(Q) $(CC) -static $(CFLAGS) $(OBJS) $(LIBS) -o $@ >> + >> $(PROGRAM_ALIAS): $(PROGRAM) >> $(E) " LN " $@ >> $(Q) ln -f $(PROGRAM) $@ >> @@ -325,7 +329,7 @@ clean: >> $(Q) rm -f x86/bios/bios-rom.h >> $(Q) rm -f tests/boot/boot_test.iso >> $(Q) rm -rf tests/boot/rootfs/ >> - $(Q) rm -f $(DEPS) $(OBJS) $(PROGRAM) $(PROGRAM_ALIAS) $(GUEST_INIT) $(GUEST_INIT_S2) >> + $(Q) rm -f $(DEPS) $(OBJS) $(PROGRAM) $(PROGRAM_ALIAS) $(PROGRAM)-static $(GUEST_INIT) $(GUEST_INIT_S2) >> $(Q) rm -f cscope.* >> $(Q) rm -f $(KVM_INCLUDE)/common-cmds.h >> $(Q) rm -f KVMTOOLS-VERSION-FILE > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html