Re: [edk2] Trying to build OVMF fails
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
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
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
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
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
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