I am Dushmanta , a CS PhD student at Georgia Institute of Technology, Atlanta, US.<br>For one of my projects I am looking into Bitvisor details. <br><br>But I am facing some issue with its compiling (Bitvisor 1.1.1). I am following the bitvisor1.1 manual<br>


found at <a href="http://www.bitvisor.org/" target="_blank">http://www.bitvisor.org/</a> . I hope you would be kind enough to help me with that.<br><br>I can compile the elf image, but when I  try to compile the configuration data <br>

(password login related module1.bin,module2bin), I get some errors. <br>
I use the default configurations and do not change anything in the configuration files<br>(bitvisor.conf.tmpl)<br><br>I have a recent Thinkpad T520 (quad core Intel i5) and my base OS is Ubuntu 11.04 (64bit).<br>I have installed the necessary libraries (gcc, binutils, make, libssl-dev, libusb-dev etc). I am not sure<br>


what the issue is. My guess is, it might be related to binutils. Do I need to compile it in a 32bit OS?<br>Do I need any cross compiler or gcc-multilib installed in my system?  <br><br>Here are just some print outs from the compilation process. Please let me know if you need any more<br>


details.<br><br>*************************************<br><span style="background-color: rgb(204, 153, 51);">Final print outs from the elf image compilation<br><br><span><span style="background-color: rgb(255, 255, 255);">make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/vpn&#39;<br>


make -C ata/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/ata&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/ata&#39;<br>


make -C usb/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/usb&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/usb&#39;<br>


make -C vpn/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/vpn&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/vpn&#39;<br>


make -C ata/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/ata&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/ata&#39;<br>


make -C usb/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/usb&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/usb&#39;<br>


make -C vpn/<br>make[2]: Entering directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/vpn&#39;<br>make[2]: `driver.o&#39; is up to date.<br>make[2]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers/vpn&#39;<br>


ld -melf_x86_64 -g -nostdlib  -r -o drivers.o bios32.o core.o dmar.o 
ieee1394.o iommu.o pci_conceal.o pci_core.o pci_debug.o pci_init.o 
security.o smi.o ata/driver.o usb/driver.o vpn/driver.o<br>make[1]: Leaving directory `/home/dm/secvirt/bitvisor/bitvisor-1.1.1/drivers&#39;<br>
ld -melf_x86_64 -g -nostdlib  -T bitvisor.lds --cref -Map bitvisor.map 
-o bitvisor.elf core/core.o drivers/drivers.o storage/storage.o 
vpn/vpn.o idman/idman.o crypto/crypto.a<br>ld: error in idman/idman.o(.eh_frame); no .eh_frame_hdr table will be created.<br>
objcopy --output-format elf32-i386 bitvisor.elf<br><br><br><span style="background-color: rgb(255, 204, 0);">From the module compilations:</span><br style="background-color: rgb(255, 204, 0);"><br>root@dm-ThinkPad-T520:~/secvirt/bitvisor/bitvisor-1.1.1/boot/login-simple# make<br>


gcc -Wall -s -Wl,-Ttext,0x8000 -nostdlib -nostdinc \<br>        -idirafter ../../include -o module1.bin asm.s main.c<br>asm.s: Assembler messages:<br>asm.s:40: Error: operand type mismatch for `push&#39;<br>main.c:162:1: warning: conflicting types for built-in function ‘strlen’<br>


main.c: In function ‘os_main’:<br>main.c:217:13: warning: cast from pointer to integer of different size<br>main.c:219:13: warning: cast from pointer to integer of different size<br>make: *** [module1.bin] Error 1<br></span></span></span>