public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kinney, Michael D" <michael.d.kinney@intel.com>
To: Tahnia Lichtenstein <unlich@gmail.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: Building UDK2017 with VS2015 fails - please help
Date: Thu, 3 Aug 2017 20:45:43 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5A7D6243F@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <CAHVi0GvAE_nZgUGi2E_TU+wEYpEm4cDkeu1Gy0Rn5S+_2QNcLQ@mail.gmail.com>

Tahnia,

My guess is that you are not using NASM.

It appears that InternalMemIsZeroBuffer is only implemented for NASM and not ASM.
Which is a bug since building with ASM results in a missing function.

Your tools_def.txt file is missing this statement.  Please make sure this statement
is present in yours and install NASM and try again.

#################
# Build rule order
#################
*_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s

Thanks,

Mike

From: Tahnia Lichtenstein [mailto:unlich@gmail.com]
Sent: Thursday, August 3, 2017 9:27 AM
To: edk2-devel@lists.01.org
Subject: Building UDK2017 with VS2015 fails - please help

Hi,

I am new to Tianocore and EDK II. Not sure if this is the right place to ask my question, please advise if there is a more suitable forum.

I am trying to build the UDK2017 on Windows 10 x64, using Visual Studio 2015 (configured for AMD64 compiler).

I followed the procedure documented in UDK2017 How-to-Build<https://github.com/tianocore/tianocore.github.io/wiki/UDK2017-How-to-Build>. I copied the source .zip and cloned Basetools, checking out the specified version. I have not changed any source files, but added the VS2015x86 toolchain to tools_def.txt (attached), and also modified targets.txt with the following:

TOOL_CHAIN_TAG       = VS2015x86
ACTIVE_PLATFORM     = MdeModulePkg/MdeModulePkg.dsc

When I open the VS2015 command prompt, and run:
edksetup --nt32
build -t VS2015x86

It builds MdeModulePkg successfully (build log attached).

But when I run:
edksetup --nt32
edk2setup --nt32
build -p Nt32Pkg\Nt32Pkg.dsc

I get the following error (build log attached):

    Creating library c:\projects\edk\udk2017\Build\NT32IA32\DEBUG_VS2015x86\IA32\MdeModulePkg\Application\UiApp\UiApp\DEBUG\UiApp.lib and object c:\projects\edk\udk2017\Build\NT32IA32\DEBUG_VS2015x86\IA32\MdeModulePkg\Application\UiApp\UiApp\DEBUG\UiApp.exp
BaseMemoryLibOptDxe.lib(IsZeroBufferWrapper.obj) : error LNK2001: unresolved external symbol _InternalMemIsZeroBuffer
c:\projects\edk\udk2017\Build\NT32IA32\DEBUG_VS2015x86\IA32\MdeModulePkg\Application\UiApp\UiApp\DEBUG\UiApp.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe"' : return code '0x460'
Stop.
build...
 : error 7000: Failed to execute command
        C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe /nologo tbuild [c:\projects\edk\udk2017\Build\NT32IA32\DEBUG_VS2015x86\IA32\MdeModulePkg\Application\UiApp\UiApp]
build...
 : error F002: Failed to build module
        c:\projects\edk\udk2017\MdeModulePkg\Application\UiApp\UiApp.inf [IA32, VS2015x86, DEBUG]


Also when I run:
edksetup --nt32
build -a IA32 -a X64 -p CorebootPayloadPkg\CorebootPayloadPkgIa32X64.dsc -b DEBUG

I get a different error (build log attached):
Building ... c:\projects\edk\udk2017\CorebootModulePkg\SecCore\SecCore.inf [IA32]
        "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe" /OUT:c:\projects\edk\udk2017\Build\CorebootPayloadPkgX64\DEBUG_VS2015x86\IA32\CorebootModulePkg\SecCore\SecCore\DEBUG\SecCore.dll /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:_ModuleEntryPoint /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG  @c:\projects\edk\udk2017\Build\CorebootPayloadPkgX64\DEBUG_VS2015x86\IA32\CorebootModulePkg\SecCore\SecCore\OUTPUT\static_library_files.lst
LINK : error LNK2001: unresolved external symbol __ModuleEntryPoint
c:\projects\edk\udk2017\Build\CorebootPayloadPkgX64\DEBUG_VS2015x86\IA32\CorebootModulePkg\SecCore\SecCore\DEBUG\SecCore.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe"' : return code '0x460'
Stop.
build...
 : error 7000: Failed to execute command
        C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe /nologo tbuild [c:\projects\edk\udk2017\Build\CorebootPayloadPkgX64\DEBUG_VS2015x86\IA32\CorebootModulePkg\SecCore\SecCore]
build...
 : error F002: Failed to build module
        c:\projects\edk\udk2017\CorebootModulePkg\SecCore\SecCore.inf [IA32, VS2015x86, DEBUG]


Please can you help me to get Nt32Pkg and CorebootPayloadPkg to build? Is there any additional changes I need to make to my build environment, other than listed in UDK2017 How-to-Build<https://github.com/tianocore/tianocore.github.io/wiki/UDK2017-How-to-Build>? Or is my tools_def.txt wrong? Or do I need to dig a bit in the UDK2017 source to fix the errors I am getting?

Best regards,

Tahnia

           reply	other threads:[~2017-08-03 20:43 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <CAHVi0GvAE_nZgUGi2E_TU+wEYpEm4cDkeu1Gy0Rn5S+_2QNcLQ@mail.gmail.com>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E92EE9817A31E24EB0585FDF735412F5A7D6243F@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox