[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [xen-unstable] 26319:  libcacard error
 
 
| 
  
  
     I have been able to reproduce this on
      CentOS 5.10. 
       
      On 01/03/13 04:59, Ian Campbell wrote: 
     
    
      On Thu, 2013-01-03 at 05:11 +0000, yanxiaoliang@xxxxxxxxx wrote:
 
      
         
hello, everyone, I got  some problems as below when i compiled
a xen-unstable  src .
 
./configure
make xen 
It was ok until here.
But when  "make tools"
It showed
 
       
      
Please can you give a more complete log, specifically including the
actual gcc invocation which resulted in this error message.
 
     
    libtool --mode=link --quiet --tag=CC gcc -rpath /usr/local/lib -o
    libcacard.la libcacard/cac.lo libcacard/event.lo libcacard/vcard.lo
    libcacard/vreader.lo libcacard/vcard_emul_nss.lo
    libcacard/vcard_emul_type.lo libcacard/card_7816.lo osdep.lo
    cutils.lo qemu-timer-common.lo oslib-posix.lo qemu-thread-posix.lo
    trace.lo trace/stderr.lo trace/control.lo
    stubs/arch-query-cpu-def.lo stubs/fdset-add-fd.lo
    stubs/fdset-find-fd.lo stubs/fdset-get-fd.lo
    stubs/fdset-remove-fd.lo stubs/get-fd.lo stubs/set-fd-handler.lo
    -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread
    -ldl   -pthread -L/lib64 -lgthread-2.0 -lglib-2.0   
    /usr/bin/ld: libcacard/.libs/vcard.o: relocation R_X86_64_PC32
    against `vcard_buffer_response_delete' can not be used when making a
    shared object; recompile with -fPIC 
    /usr/bin/ld: final link failed: Bad value 
    collect2: ld returned 1 exit status 
    make[4]: *** [libcacard.la] Error 1 
    make[4]: Leaving directory
    `/home/don/xen/tools/qemu-xen-dir-remote/libcacard' 
    make[3]: *** [subdir-libcacard] Error 2 
    make[3]: Leaving directory `/home/don/xen/tools/qemu-xen-dir-remote' 
    make[2]: *** [subdir-all-qemu-xen-dir] Error 2 
    make[2]: Leaving directory `/home/don/xen/tools' 
    make[1]: *** [subdirs-install] Error 2 
    make[1]: Leaving directory `/home/don/xen/tools' 
    make: *** [install-tools] Error 2 
     
    
      
 
      
        /usr/bin/ld: libcacard/.libs/vcard.o: relocation R_X86_64_PC32 against `vcard_delete_applet' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[4]: *** [libcacard.la] Error 1
make[3]: *** [subdir-libcacard] Error 2
make[3]: Leaving directory `/root/xen-unstable.hg/tools/qemu-xen-dir-remote'
make[2]: *** [subdir-all-qemu-xen-dir] Error 2
make[2]: Leaving directory `/root/xen-unstable.hg/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/xen-unstable.hg/tools'
make: *** [install-tools] Error 2
 
Could anyone give me some advices ? 
 
       
      
This sort of error is typically specific to the version of gcc and/or
the distro -- what are you using?
 
     
    CentOS 5.10 
    
      
It seems likely that his is an upstream qemu issue, but it's not clear
to me why this appears to not happen anywhere else (according to
google). It's possible that this functionality is just not widely used?
It might be useful to raise this on qemu-devel.
 
     
    https://bugs.launchpad.net/qemu/+bug/1257099 
    
      
As a workaround in the meantime you could try adding --disable-smartcard
to the invocation of configure in tools/Makefile, or perhaps
--disable-smartcard-nss would do the trick.
 
     
    Using the patch: 
    From 57af66ee9bb0edb7545fc84b5b6d628cebd29f95 Mon
        Sep 17 00:00:00 2001 
      From: Don Slutz <dslutz@xxxxxxxxxxx> 
      Date: Mon, 2 Dec 2013 21:07:16 +0000 
      Subject: [PATCH] Add QEMU_UPSTREAM_EXTRA_CONFIG. 
       
      this allows 'make
        QEMU_UPSTREAM_EXTRA_CONFIG=--disable-smartcard-nss' to work on
        CentOS 5.10 
       
      Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx> 
      --- 
       tools/Makefile | 2 +- 
       1 file changed, 1 insertion(+), 1 deletion(-) 
       
      diff --git a/tools/Makefile b/tools/Makefile 
      index 00c69ee..9e1efca 100644 
      --- a/tools/Makefile 
      +++ b/tools/Makefile 
      @@ -187,7 +187,7 @@ subdir-all-qemu-xen-dir:
        qemu-xen-dir-find 
              fi; \ 
              cd qemu-xen-dir; \ 
              $$source/configure --enable-xen
        --target-list=i386-softmmu \ 
      -               $(QEMU_XEN_ENABLE_DEBUG) \ 
      +               $(QEMU_XEN_ENABLE_DEBUG)
        $(QEMU_UPSTREAM_EXTRA_CONFIG) \ 
                      --prefix=$(PREFIX) \ 
                      --source-path=$$source \ 
                     
        --extra-cflags="-I$(XEN_ROOT)/tools/include \ 
      --  
      1.8.2.1 
     
    And then "make QEMU_UPSTREAM_EXTRA_CONFIG=--disable-smartcard-nss
    dist" gets past this error. 
     
    This is at: 
     
    * 57af66e (HEAD, master) Add QEMU_UPSTREAM_EXTRA_CONFIG. 
    * e439e0b (origin/master, origin/HEAD) x86/pvh: change
    epte_get_entry_emt() for pvh mem types 
     
    Does it make sense to send this as a top post? 
     
    It then dies in: 
     
    [  3%] Building C object tpm/CMakeFiles/tpm.dir/tpm_daa.o 
    cd /home/don/xen/stubdom/tpm_emulator-x86_64/build/tpm &&
    /usr/bin/gcc   -std=c99 -DTPM_NO_EXTERN -isystem
    /home/don/xen/stubdom/../extras/mini-os/include -D__MINIOS__
    -DHAVE_LIBC -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/../tools/xenstore  -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86 -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86/x86_64 -U
    __linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/cross-root-x86_64/x86_64-xen-elf/include
    -isystem /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include/ipv4
    -I/home/don/xen/stubdom/include
    -I/home/don/xen/stubdom/../xen/include -mno-red-zone -O1
    -fno-omit-frame-pointer  -m64 -mno-red-zone -fno-reorder-blocks
    -fno-asynchronous-unwind-tables -m64 -g -fno-strict-aliasing
    -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement  
    -fno-stack-protector -fno-exceptions
    -Wno-declaration-after-statement -I/opt/local/include
    -I/home/don/xen/stubdom/tpm_emulator-x86_64
    -I/home/don/xen/stubdom/tpm_emulator-x86_64/build   -Wall -Werror
    -Wno-unused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings
    -Wextra -o CMakeFiles/tpm.dir/tpm_daa.o   -c
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c 
    cc1: warnings being treated as errors 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Join': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:336:
    warning: unused parameter 'ordinal' 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Sign': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:2362:
    warning: unused parameter 'ordinal' 
    make[5]: *** [tpm/CMakeFiles/tpm.dir/tpm_daa.o] Error 1 
    make[5]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[4]: *** [tpm/CMakeFiles/tpm.dir/all] Error 2 
    make[4]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[3]: *** [tpm/CMakeFiles/tpm.dir/rule] Error 2 
    make[3]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[2]: *** [tpm] Error 2 
    make[2]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[1]: *** [cross-root-x86_64/x86_64-xen-elf/lib/libtpm.a] Error 2 
    make[1]: Leaving directory `/home/don/xen/stubdom' 
    make: *** [install-stubdom] Error 2 
     
    Doing "./configure --disable-stubdom" allows a clean build. 
     
    On stable-4.3: 
     
    86e80b6 (HEAD, origin/stable-4.3, stable-4.3) x86/xsave: fix nonlazy
    state handling 
    ... 
      lt LINK libcacard.la 
    /usr/bin/ld: libcacard/.libs/vcard.o: relocation R_X86_64_PC32
    against `vcard_delete_applet' can not be used when making a shared
    object; recompile with -fPIC 
    /usr/bin/ld: final link failed: Bad value 
    collect2: ld returned 1 exit status 
    make[4]: *** [libcacard.la] Error 1 
    make[3]: *** [subdir-libcacard] Error 2 
    make[3]: Leaving directory `/home/don/xen/tools/qemu-xen-dir-remote' 
    make[2]: *** [subdir-all-qemu-xen-dir] Error 2 
    make[2]: Leaving directory `/home/don/xen/tools' 
    make[1]: *** [subdirs-install] Error 2 
    make[1]: Leaving directory `/home/don/xen/tools' 
    make: *** [install-tools] Error 2 
     
    Almost the same error.  The attached 4.3 patch, and then "make
    QEMU_UPSTREAM_EXTRA_CONFIG=--disable-smartcard-nss dist" 
     
    * 5714078 (HEAD, stable-4.3) Add QEMU_UPSTREAM_EXTRA_CONFIG. 
    * 86e80b6 (origin/stable-4.3) x86/xsave: fix nonlazy state handling 
     
    Also dies with: 
    ... 
    cd /home/don/xen/stubdom/tpm_emulator-x86_64/build/tpm &&
    /usr/bin/gcc   -std=c99 -DTPM_NO_EXTERN -isystem
    /home/don/xen/stubdom/../extras/mini-os/include -D__MINIOS__
    -DHAVE_LIBC -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/../tools/xenstore  -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86 -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86/x86_64 -U
    __linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/cross-root-x86_64/x86_64-xen-elf/include
    -isystem /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include/ipv4
    -I/home/don/xen/stubdom/include
    -I/home/don/xen/stubdom/../xen/include -mno-red-zone -O1
    -fno-omit-frame-pointer  -m64 -mno-red-zone -fno-reorder-blocks
    -fno-asynchronous-unwind-tables -m64 -g -fno-strict-aliasing
    -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement  
    -fno-stack-protector -fno-exceptions
    -Wno-declaration-after-statement -I/opt/local/include
    -I/home/don/xen/stubdom/tpm_emulator-x86_64
    -I/home/don/xen/stubdom/tpm_emulator-x86_64/build   -Wall -Werror
    -Wno-unused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings
    -Wextra -o CMakeFiles/tpm.dir/tpm_daa.o   -c
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c 
    cc1: warnings being treated as errors 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Join': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:336:
    warning: unused parameter 'ordinal' 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Sign': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:2362:
    warning: unused parameter 'ordinal' 
    make[5]: *** [tpm/CMakeFiles/tpm.dir/tpm_daa.o] Error 1 
    make[5]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[4]: *** [tpm/CMakeFiles/tpm.dir/all] Error 2 
    make[4]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[3]: *** [tpm/CMakeFiles/tpm.dir/rule] Error 2 
    make[3]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[2]: *** [tpm] Error 2 
    make[2]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[1]: *** [cross-root-x86_64/x86_64-xen-elf/lib/libtpm.a] Error 2 
    make[1]: Leaving directory `/home/don/xen/stubdom' 
    make: *** [install-stubdom] Error 2 
     
    And not building the stubdom works. 
     
     
    * 094900d x86/crash: disable the watchdog NMIs on the crashing cpu 
    ... 
      lt LINK libcacard.la 
    /usr/bin/ld: libcacard/.libs/vcard.o: relocation R_X86_64_PC32
    against `vcard_delete_applet' can not be used when making a shared
    object; recompile with -fPIC 
    /usr/bin/ld: final link failed: Bad value 
    collect2: ld returned 1 exit status 
    make[4]: *** [libcacard.la] Error 1 
    make[3]: *** [subdir-libcacard] Error 2 
    make[3]: Leaving directory `/home/don/xen/tools/qemu-xen-dir-remote' 
    make[2]: *** [subdir-all-qemu-xen-dir] Error 2 
    make[2]: Leaving directory `/home/don/xen/tools' 
    make[1]: *** [subdirs-install] Error 2 
    make[1]: Leaving directory `/home/don/xen/tools' 
    make: *** [install-tools] Error 2 
     
    * 84e1ba0 (HEAD, staging-4.3) Add QEMU_UPSTREAM_EXTRA_CONFIG. 
    * 86e80b6 (origin/staging-4.3, origin/stable-4.3) x86/xsave: fix
    nonlazy state handling 
     
    Also gets the error: 
    ... 
    cd /home/don/xen/stubdom/tpm_emulator-x86_64/build/tpm &&
    /usr/bin/gcc   -std=c99 -DTPM_NO_EXTERN -isystem
    /home/don/xen/stubdom/../extras/mini-os/include -D__MINIOS__
    -DHAVE_LIBC -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/../tools/xenstore  -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86 -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/x86/x86_64 -U
    __linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
    /home/don/xen/stubdom/../extras/mini-os/include/posix -isystem
    /home/don/xen/stubdom/cross-root-x86_64/x86_64-xen-elf/include
    -isystem /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include -isystem
    /home/don/xen/stubdom/lwip-x86_64/src/include/ipv4
    -I/home/don/xen/stubdom/include
    -I/home/don/xen/stubdom/../xen/include -mno-red-zone -O1
    -fno-omit-frame-pointer  -m64 -mno-red-zone -fno-reorder-blocks
    -fno-asynchronous-unwind-tables -m64 -g -fno-strict-aliasing
    -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement  
    -fno-stack-protector -fno-exceptions
    -Wno-declaration-after-statement -I/opt/local/include
    -I/home/don/xen/stubdom/tpm_emulator-x86_64
    -I/home/don/xen/stubdom/tpm_emulator-x86_64/build   -Wall -Werror
    -Wno-unused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings
    -Wextra -o CMakeFiles/tpm.dir/tpm_daa.o   -c
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c 
    cc1: warnings being treated as errors 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Join': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:336:
    warning: unused parameter 'ordinal' 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c: In function
    'TPM_DAA_Sign': 
    /home/don/xen/stubdom/tpm_emulator-x86_64/tpm/tpm_daa.c:2362:
    warning: unused parameter 'ordinal' 
    make[5]: *** [tpm/CMakeFiles/tpm.dir/tpm_daa.o] Error 1 
    make[5]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[4]: *** [tpm/CMakeFiles/tpm.dir/all] Error 2 
    make[4]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[3]: *** [tpm/CMakeFiles/tpm.dir/rule] Error 2 
    make[3]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[2]: *** [tpm] Error 2 
    make[2]: Leaving directory
    `/home/don/xen/stubdom/tpm_emulator-x86_64/build' 
    make[1]: *** [cross-root-x86_64/x86_64-xen-elf/lib/libtpm.a] Error 2 
    make[1]: Leaving directory `/home/don/xen/stubdom' 
    make: *** [install-stubdom] Error 2 
     
     
    420ff58 (HEAD, origin/stable-4.2, stable-4.2) x86/HVM: only allow
    ring 0 guest code to make hypercalls 
    ... 
     
    Is a clean build. 
     
    All of these build cleanly on a Fedora 17 system.  
     
      -Don Slutz 
    
      
Removing the libnss library (the smart card one) package from your
system would also work around the issue, if that is possible.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
     
     
  
 |  
 Attachment:
4.4-0001-Add-QEMU_UPSTREAM_EXTRA_CONFIG.patch 
Description: Text Data 
Attachment:
4.3-0001-Add-QEMU_UPSTREAM_EXTRA_CONFIG.patch 
Description: Text Data 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
    
     |