SRI-CSL / whole-program-llvm

A toolkit for building whole-program LLVM bitcode files
MIT License
72 stars 11 forks source link

Issues when compiling libvirt-1.2.0 #10

Closed ruigulala closed 8 years ago

ruigulala commented 8 years ago

Thanks for building and maintaining such good tool. I've encountered a problem when using wllvm to build libvirt-1.2.0 on a x86-64 machine. The building process is fine when using clang alone or gcc. Here is the command that I use: CFLAGS="-g -O0" CC=wllvm ./configure --without-udev --prefix=$HOME/Tools/libvirt make Here is the error output.

INFO::utils.getBuilder() at utils.py:617 ::WLLVM compiler using clang DEBUG::popenwrapper.Popen() at popenwrapper.py:13 ::WLLVM Executing: ['clang', '-shared', '-Wl,--whole-archive', './.libs/libvirt_util.a', './.libs/libvirt_conf.a', './.libs/libvirt_cpu.a', './.libs/libvirt_vmx.a', './.libs/libvirt_driver.a', './.libs/libvirt_driver_test.a', './.libs/libvirt_driver_remote.a', './.libs/libvirt_driver_openvz.a', './.libs/libvirt_driver_vmware.a', './.libs/libvirt_driver_parallels.a', './.libs/libvirt_security_manager.a', './.libs/libvirt_driver_access.a', '../gnulib/lib/.libs/libgnu.a', '-Wl,--no-whole-archive', '-lnl', '-ldevmapper', '-lxml2', '-lselinux', '-lpthread', '-lutil', '-ldl', '-O0', '-Wl,--version-script=libvirt.syms', '-Wl,-z', '-Wl,nodelete', '-Wl,-z', '-Wl,relro', '-Wl,-z', '-Wl,now', '-Wl,--no-copy-dt-needed-entries', '-Wl,-soname', '-Wl,libvirt.so.0', '-o', '.libs/libvirt.so.0.1002.0'] in: /home/ruigu/Workspace/libvirt-1.2.0/src /usr/bin/ld: ./.libs/libvirt_util.a(libvirt_util_la-virarch.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC ./.libs/libvirt_util.a(libvirt_util_la-virarch.o): error adding symbols: Bad value clang-3.6: error: linker command failed with exit code 1 (use -v to see invocation)

ianamason commented 8 years ago

Thanks Rui, I'll take a look...

ianamason commented 8 years ago

Rui,

I tried on Ubuntu 14.04.3 with a 3.4 tool chain and the puppy built just fine.

Is it the make that is giving you trouble or an extract-bc command?

Let me know if you want me to investigate further (with the 3.6 tool chain for example).

Cheers, Ian.

ruigulala commented 8 years ago

Thank you Ian for the investigation. Yeah, could you please try the 3.6 tool chain? I was using clang 3.6.1 when having this error.

ianamason commented 8 years ago

OK trying that now.

While I'm waiting for the configure ...

Is it the make that is giving you trouble or an extract-bc command?

ianamason commented 8 years ago

Sorry Rui, Same success story with the 3.6.2 tool chain.

ruigulala commented 8 years ago

Ok, I see. The error came out during the make process. Thanks. I think may be I'm having some mis-configuration issue. I'll look into it.