I've had to update the toolchain definitions in edk2\Conf in the past to point WINSDK to a newer version, since I've been using VS2015 for a few years now.

The error about not finding "C:\Program" is from the build tool not being able to find rc.exe, likely because you don't have the Windows SDK version 8.0 installed.


--
Rebecca


On 5/10/2018 9:06 AM, Gao, Liming wrote:
VS build requires to install WINSDK. VS2013 requires WINSDK8. This path 
c:\Program Files (x86)\Windows Kits\8.0\bin\x64\rc.exe is from the installed 
WINSDK8.
When you installs visual studio, you can select winsdk and install it together 
VS compiler.

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo 
Ersek
Sent: Thursday, May 10, 2018 10:43 PM
To: apia...@aol.com
Cc: edk2-devel@lists.01.org
Subject: Re: [edk2] Trying to build OVMF fails

On 05/10/18 15:37, apia...@aol.com wrote:
I am having a problem building OVMF to use as firmware for QEMU to test EFI 
binaries. I can only build the X64 arch of OVMF in linux.
In windows both IA32, IA32/X64, and X64 all fail with some variation of this 
error:




         "C:\Program Files (x86)\Microsoft Visual Studio 
12.0\Vc\bin\x86_amd64\cl.exe"
/Fod:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\MdeModulePkg\Bus\Pci\EhciDxe\EhciDxe\OUTPUT\.\EhciUrb.obj
/nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- 
/GR- /GF /Gw /D MDEPKG_NDEBUG /D
DISABLE_NEW_DEPRECATED_INTERFACES 
/Id:\development\edk2\MdeModulePkg\Bus\Pci\EhciDxe
/Id:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\MdeModulePkg\Bus\Pci\EhciDxe\EhciDxe\DEBUG
/Id:\development\edk2\MdePkg  /Id:\development\edk2\MdePkg\Include  
/Id:\development\edk2\MdePkg\Include\X64
/Id:\development\edk2\MdeModulePkg  /Id:\development\edk2\MdeModulePkg\Include
d:\development\edk2\MdeModulePkg\Bus\Pci\EhciDxe\EhciUrb.c
'c:\Program' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Windows 
Kits\8.0\bin\x64\rc.exe' : return code '0x1'
Stop.
Sorry, I can't comment on the VS toolchains (I don't use them).

And in linux IA32 and IA32/X64 fail with some varation of this error:



"GenFw" -e DXE_DRIVER -o
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTole
rantWriteDxe/DEBUG/FaultTolerantWriteDxe.efi
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTole
rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
GenFw: ERROR 3000: Invalid

/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTole
rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 
0xa.
GenFw: ERROR 3000: Invalid

/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTole
rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 
0x9.

Interesting; what gcc version are you using with the GCC5 toolchain?
I've just built OVMF like this:

$ build \
   -a IA32 \
   -p OvmfPkg/OvmfPkgIa32.dsc \
   -D SMM_REQUIRE \
   -D SECURE_BOOT_ENABLE \
   -t GCC5 \
   -n 4 \
   -b RELEASE \
   -D HTTP_BOOT_ENABLE \
   --cmd-len=65536 \
   --hash

with an up-to-date Fedora 28 install:
- gcc (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1)
- binutils-2.29.1-23.fc28.x86_64

How can I get the IA32 build working? Also I see ARM and AARCH64 OVMF images in 
packages, how are these being built? I get that
the architectures are unsupported.

Do you mean that "distro packages are unsupported by upstream edk2"?
Edk2 does support ARM and AARCH64.

It is true that the OvmfPkg DSC files target only IA32, IA32X64, and
X64, but the ArmVirtPkg DSC files target ARM and AARCH64 QEMU and Xen
virtual machines. You can build ArmVirtPkg platforms with
cross-compilers from x86_64, or natively on AARCH64 at the least (I've
never tried native building on ARM).

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to