Buildfix: fix libcacard build with -m32 on 64bit machine
PATCH 1/1 Buildfix: fix libcacard build with -m32 on 64bit machine
When configuring with --extra-cflags="-m32" on a 64bit machine the following error appears during compilation:
make -C libhw64 V="1" TARGET_DIR="libhw64/" all make[1]: Entering directory /root/tmp/qemu-git/libhw64' make[1]: Leaving directory /root/tmp/qemu-git/libhw64' make -C libcacard V="1" TARGET_DIR="libcacard/" all make[1]: Entering directory `/root/tmp/qemu-git/libcacard'
gcc -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lrt -o vscclient cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o card_7816.o ../osdep.o ../oslib-posix.o ../qemu-thread-posix.o ../trace.o ../qemu-malloc.o ../qemu-timer-common.o vscclient.o
cac.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [vscclient] Error 1
make[1]: Leaving directory `/root/tmp/qemu-git/libcacard'
make: *** [subdir-libcacard] Error 2
The LDFLAGS are not passed to the compiled. The below patch fixes it.
--- libcacard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
libcacard/Makefile +1 -1
@@ -9,7 +9,7 @@ QEMU_OBJS=$(addprefix ../, $(oslib-obj-y QEMU_CFLAGS+=-I../ vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o - $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") + $(call quiet-command,$(CC) $(LDFLAGS) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") all: vscclient
Quoted 2 lines · Stefan Berger
When configuring with --extra-cflags="-m32" on a 64bit machine the following error appears during compilation:
Thanks for the fix.
Quoted 41 lines
make -C libhw64 V="1" TARGET_DIR="libhw64/" all make[1]: Entering directory
/root/tmp/qemu-git/libhw64' make[1]: Leaving directory/root/tmp/qemu-git/libhw64' make -C libcacard V="1" TARGET_DIR="libcacard/" all make[1]: Entering directory `/root/tmp/qemu-git/libcacard' gcc -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4
-lpthread -ldl -lrt -o vscclient cac.o event.o vcard.o vreader.o
vcard_emul_nss.o vcard_emul_type.o card_7816.o../osdep.o../oslib-posix.o../qemu-thread-posix.o../trace.o../qemu-malloc.o../qemu-timer-common.ovscclient.o
cac.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [vscclient] Error 1
make[1]: Leaving directory `/root/tmp/qemu-git/libcacard'
make: *** [subdir-libcacard] Error 2The LDFLAGS are not passed to the compiled. The below patch fixes it.
Signed-off-by Stefan Berger <[email protected]>--- libcacard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: qemu-git/libcacard/Makefile
===================================================================libcacard/Makefile +1
-1@@ -9,7 +9,7 @@ QEMU_OBJS=$(addprefix ../, $(oslib-obj-y QEMU_CFLAGS+=-I../ vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o - $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") + $(call quiet-command,$(CC) $(LDFLAGS) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@")all: vscclient
Quoted 4 lines · Alon Levy
Quoted 2 lines · Stefan Berger
When configuring with --extra-cflags="-m32" on a 64bit machine the following error appears during compilation:
Thanks for the fix.
Anybody else who thinks that this patch below is necessary?
Stefan
Quoted 42 lines
Reviewed-by Alon Levy<[email protected]>Quoted 40 lines
make -C libhw64 V="1" TARGET_DIR="libhw64/" all make[1]: Entering directory
/root/tmp/qemu-git/libhw64' make[1]: Leaving directory/root/tmp/qemu-git/libhw64' make -C libcacard V="1" TARGET_DIR="libcacard/" all make[1]: Entering directory `/root/tmp/qemu-git/libcacard' gcc -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4
-lpthread -ldl -lrt -o vscclient cac.o event.o vcard.o vreader.o
vcard_emul_nss.o vcard_emul_type.o card_7816.o../osdep.o../oslib-posix.o../qemu-thread-posix.o../trace.o../qemu-malloc.o../qemu-timer-common.ovscclient.o
cac.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [vscclient] Error 1
make[1]: Leaving directory `/root/tmp/qemu-git/libcacard'
make: *** [subdir-libcacard] Error 2The LDFLAGS are not passed to the compiled. The below patch fixes it.
Signed-off-by Stefan Berger<[email protected]>--- libcacard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: qemu-git/libcacard/Makefile
===================================================================libcacard/Makefile +1
-1@@ -9,7 +9,7 @@ QEMU_OBJS=$(addprefix ../, $(oslib-obj-y QEMU_CFLAGS+=-I../ vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o - $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") + $(call quiet-command,$(CC) $(LDFLAGS) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@")all: vscclient
Am 07.06.2011 um 16:06 schrieb Stefan Berger:
Quoted 6 lines · Alon Levy
Quoted 4 lines · Stefan Berger
Quoted 2 lines
When configuring with --extra-cflags="-m32" on a 64bit machine the following error appears during compilation:
Thanks for the fix.
Anybody else who thinks that this patch below is necessary?
Yes, this or a similar patch. Not sure if there's a QEMU_LDFLAGS and, if yes, whether that or LDFLAGS is more correct.
The only issue I see is that we may be passing unnecessary cruft in, but that seems negligible. Fixing up $libcacard_libs to contain the relevant LDFLAGS is probably more complicated.
Andreas
Quoted 43 lines
Quoted 42 lines
Reviewed-by Alon Levy<[email protected]>Quoted 40 lines
make -C libhw64 V="1" TARGET_DIR="libhw64/" all make[1]: Entering directory
/root/tmp/qemu-git/libhw64' make[1]: Leaving directory/root/tmp/qemu-git/libhw64' make -C libcacard V="1" TARGET_DIR="libcacard/" all make[1]: Entering directory `/root/tmp/qemu-git/libcacard' gcc -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4
-lpthread -ldl -lrt -o vscclient cac.o event.o vcard.o vreader.o
vcard_emul_nss.o vcard_emul_type.o card_7816.o../osdep.o../oslib-posix.o../qemu-thread-posix.o../trace.o../qemu-malloc.o../qemu-timer-common.ovscclient.o
cac.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [vscclient] Error 1
make[1]: Leaving directory `/root/tmp/qemu-git/libcacard'
make: *** [subdir-libcacard] Error 2The LDFLAGS are not passed to the compiled. The below patch fixes it.
Signed-off-by Stefan Berger<[email protected]>--- libcacard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: qemu-git/libcacard/Makefile
===================================================================libcacard/Makefile +1
-1@@ -9,7 +9,7 @@ QEMU_OBJS=$(addprefix ../, $(oslib-obj-y QEMU_CFLAGS+=-I../ vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o - $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") + $(call quiet-command,$(CC) $(LDFLAGS) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@")all: vscclient
Quoted 11 lines · Andreas Färber
Am 07.06.2011 um 16:06 schrieb Stefan Berger:
Quoted 6 lines · Alon Levy
Quoted 4 lines · Stefan Berger
Quoted 2 lines
When configuring with --extra-cflags="-m32" on a 64bit machine the following error appears during compilation:
Thanks for the fix.
Anybody else who thinks that this patch below is necessary?
Yes, this or a similar patch. Not sure if there's a
QEMU_LDFLAGSand, if yes, whether that or LDFLAGS is more correct.
There is no QEMU_LDFLAGS from what I can see.
Quoted 3 lines
The only issue I see is that we may be passing unnecessary cruft in, but that seems negligible. Fixing up $libcacard_libs to contain the relevant LDFLAGS is probably more complicated.
For the below linking step the LDFLAGS presumably contain the right command line parameters.
Stefan
Quoted 47 lines
Andreas
Quoted 43 lines
Quoted 42 lines
Reviewed-by Alon Levy<[email protected]>Quoted 40 lines
make -C libhw64 V="1" TARGET_DIR="libhw64/" all make[1]: Entering directory
/root/tmp/qemu-git/libhw64' make[1]: Leaving directory/root/tmp/qemu-git/libhw64' make -C libcacard V="1" TARGET_DIR="libcacard/" all make[1]: Entering directory `/root/tmp/qemu-git/libcacard' gcc -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4
-lpthread -ldl -lrt -o vscclient cac.o event.o vcard.o vreader.o
vcard_emul_nss.o vcard_emul_type.o card_7816.o../osdep.o../oslib-posix.o../qemu-thread-posix.o../trace.o../qemu-malloc.o../qemu-timer-common.ovscclient.o
cac.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [vscclient] Error 1
make[1]: Leaving directory `/root/tmp/qemu-git/libcacard'
make: *** [subdir-libcacard] Error 2The LDFLAGS are not passed to the compiled. The below patch fixes it.
Signed-off-by Stefan Berger<[email protected]>--- libcacard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: qemu-git/libcacard/Makefile
===================================================================libcacard/Makefile +1
-1@@ -9,7 +9,7 @@ QEMU_OBJS=$(addprefix ../, $(oslib-obj-y QEMU_CFLAGS+=-I../ vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o - $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@") + $(call quiet-command,$(CC) $(LDFLAGS) $(libcacard_libs) -lrt -o $@ $^," LINK $(TARGET_DIR)$@")all: vscclient