From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 4689D21BADAB3 for ; Thu, 10 May 2018 08:07:02 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2018 08:07:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,385,1520924400"; d="scan'208";a="54057263" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga001.fm.intel.com with ESMTP; 10 May 2018 08:07:02 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 10 May 2018 08:07:02 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 10 May 2018 08:07:01 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.240]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.210]) with mapi id 14.03.0319.002; Thu, 10 May 2018 23:07:00 +0800 From: "Gao, Liming" To: Laszlo Ersek , "apianti@aol.com" CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] Trying to build OVMF fails Thread-Index: AQHT6GQalTQ8srpAK0eYHCnY4fvU16Qog12AgACLynA= Date: Thu, 10 May 2018 15:06:59 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E227DA4@SHSMSX104.ccr.corp.intel.com> References: <1634a4575fc-1dd7-e1c8@webjas-vae180.srv.aolmail.net> <463855a2-2b5b-a636-fab7-59e82bae80a5@redhat.com> In-Reply-To: <463855a2-2b5b-a636-fab7-59e82bae80a5@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: Trying to build OVMF fails X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 May 2018 15:07:03 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 W= INSDK8.=20 When you installs visual studio, you can select winsdk and install it toget= her VS compiler.=20 > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of La= szlo Ersek > Sent: Thursday, May 10, 2018 10:43 PM > To: apianti@aol.com > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] Trying to build OVMF fails >=20 > On 05/10/18 15:37, apianti@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 t= his 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\B= us\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\Bu= s\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\In= clude > 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\bi= n\x64\rc.exe' : return code '0x1' > > Stop. >=20 > Sorry, I can't comment on the VS toolchains (I don't use them). >=20 > > 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/MdeModule= Pkg/Universal/FaultTolerantWriteDxe/FaultTole > rantWriteDxe/DEBUG/FaultTolerantWriteDxe.efi > /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModule= Pkg/Universal/FaultTolerantWriteDxe/FaultTole > rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll > > GenFw: ERROR 3000: Invalid > > > /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModule= Pkg/Universal/FaultTolerantWriteDxe/FaultTole > rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 reloc= ation 0xa. > > GenFw: ERROR 3000: Invalid > > > /home/development/Desktop/edk2/Build/OvmfIa32/RELEASE_GCC5/IA32/MdeModule= Pkg/Universal/FaultTolerantWriteDxe/FaultTole > rantWriteDxe/DEBUG/FaultTolerantWriteDxe.dll unsupported ELF EM_386 reloc= ation 0x9. >=20 > Interesting; what gcc version are you using with the GCC5 toolchain? > I've just built OVMF like this: >=20 > $ 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=3D65536 \ > --hash >=20 > 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 >=20 > > How can I get the IA32 build working? Also I see ARM and AARCH64 OVMF i= mages in packages, how are these being built? I get that > the architectures are unsupported. >=20 > Do you mean that "distro packages are unsupported by upstream edk2"? > Edk2 does support ARM and AARCH64. >=20 > 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). >=20 > Thanks > Laszlo > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel