Re: [edk2] Trying to build OVMF fails

2018-06-10 Thread Ard Biesheuvel
On 10 May 2018 at 16:42, Laszlo Ersek  wrote:
> 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/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.efi
>>  
>> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
>> GenFw: ERROR 3000: Invalid
>>   
>> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/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/FaultTolerantWriteDxe/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
>

On Ubuntu 18.04, I need to add -fno-pie -fno-pic to the IA32 gcc
flags, or I get the same errors. Also, I need to disable PIE linking,
or I get weird errors at link time with duplicate .rel.text ELF
sections

I will follow up with a patch shortly (but not today)
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Trying to build OVMF fails

2018-05-10 Thread Gao, Liming
On linux build failure, it may be related to the wrong config files. 

Please type ". edksetup.sh --reconfig" to update config file, and try again.

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Gao, 
> Liming
> Sent: Thursday, May 10, 2018 11:07 PM
> To: Laszlo Ersek <ler...@redhat.com>; apia...@aol.com
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] Trying to build OVMF fails
> 
> 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,

Re: [edk2] Trying to build OVMF fails

2018-05-10 Thread Rebecca Cran
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


Re: [edk2] Trying to build OVMF fails

2018-05-10 Thread Gao, Liming
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


Re: [edk2] Trying to build OVMF fails

2018-05-10 Thread Marvin H?user
OvmfPkg builds fine here for X64/IA32-RELEASE-VS2013x86.
"'c:\Program' is not recognized as an internal or external command, operable 
program or batch file." Indicates something trying to access a path with spaces 
lacking proper quotation, so it's definitely a setup error on your side.
Maybe verify your environment variables and the tool paths (such as NASM) set 
for edk2?

> -Original Message-
> From: edk2-devel <edk2-devel-boun...@lists.01.org> On Behalf Of
> apia...@aol.com
> Sent: Thursday, May 10, 2018 3:38 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] Trying to build OVMF fails
> 
> 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\MdeMo
> dulePkg\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\MdeMod
> ulePkg\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.
> EhciUrb.c
> Xhci.c
> "C:\Program Files (x86)\Microsoft Visual Studio
> 12.0\Vc\bin\x86_amd64\cl.exe"
> /Fod:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\MdeMo
> dulePkg\Bus\Pci\UhciDxe\UhciDxe\OUTPUT\.\UhciSched.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\UhciDxe
> /Id:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\MdeMod
> ulePkg\Bus\Pci\UhciDxe\UhciDxe\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\UhciDxe\UhciSched.c
> 
> 
> UhciSched.c
> 
> 
> build...
>  : error 7000: Failed to execute command
> C:\Program Files (x86)\Microsoft Visual Studio 12.0\Vc\bin\nmake.exe
> /nologo tbuild
> [d:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\ShellPkg\D
> ynamicCommand\TftpDynamicCommand\TftpDynamicCommand]
> 
> 
> 
> 
> build...
>  : error F002: Failed to build module
> 
> d:\development\edk2\ShellPkg\DynamicCommand\TftpDynamicCommand\
> TftpDynamicCommand.inf [X64, VS2013x86, RELEASE]
> 
> 
> 
> 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/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.efi
> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/
> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.dll
> GenFw: ERROR 3000: Invalid
> 
> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/
> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 0xa.
> GenFw: ERROR 3000: Invalid
> 
> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/
> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 0x9.
> GenFw: ERROR 3000: Invalid
> 
> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/
> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 0xa.
> GenFw: ERROR 3000: Invalid
> 
> /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/
> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/D
> EBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 relocation 0x9.
> GenFw: ERROR 3000: Invalid
> 
> /home/dev

[edk2] Trying to build OVMF fails

2018-05-10 Thread apianti
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.
EhciUrb.c
Xhci.c
"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\UhciDxe\UhciDxe\OUTPUT\.\UhciSched.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\UhciDxe  
/Id:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\MdeModulePkg\Bus\Pci\UhciDxe\UhciDxe\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\UhciDxe\UhciSched.c


UhciSched.c


build...
 : error 7000: Failed to execute command
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Vc\bin\nmake.exe 
/nologo tbuild 
[d:\development\edk2\Build\OvmfX64\RELEASE_VS2013x86\X64\ShellPkg\DynamicCommand\TftpDynamicCommand\TftpDynamicCommand]




build...
 : error F002: Failed to build module

d:\development\edk2\ShellPkg\DynamicCommand\TftpDynamicCommand\TftpDynamicCommand.inf
 [X64, VS2013x86, RELEASE]



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/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.efi
 
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
GenFw: ERROR 3000: Invalid
  
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/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/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
 unsupported ELF EM_386 relocation 0x9.
GenFw: ERROR 3000: Invalid
  
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/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/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
 unsupported ELF EM_386 relocation 0x9.
GenFw: ERROR 3000: Invalid
  
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
 unsupported ELF EM_386 relocation 0x9.
GenFw: ERROR 3000: Invalid
  
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/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/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
 unsupported ELF EM_386 relocation 0x9.
GenFw: ERROR 3000: Invalid
make: *** 
[/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.efi]
 Error 2
  
/home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll
 unsupported ELF EM_386 relocation 0xa.
GenFw: ERROR 3000: Invalid