public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* EmulatorPkg build issue with macOS mojave and Xcode 10
@ 2019-01-14  7:47 唐佳诚
  0 siblings, 0 replies; 8+ messages in thread
From: 唐佳诚 @ 2019-01-14  7:47 UTC (permalink / raw)
  To: edk2-devel

Hi Dear EmulatorPkg Maintainer:  I'm a newbie at this, There are some issue when building EmulatorPkg. Any inspiration or help will appreciated!OS macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkgDownload edk2-UDK2018.zipInitializing workspace> source ./edk2setup.shWORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018 EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf Copying $EDK_TOOLS_PATH/Conf/build_rule.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt Copying $EDK_TOOLS_PATH/Conf/tools_def.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt Copying $EDK_TOOLS_PATH/Conf/target.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt> cd EmulatorPkg && ./build.shThe BaseTools will build successfully, and EmulatorPkg will fail to build.'import sitecustomize' failed; use -v for traceback Build environment: Darwin-18.2.0-x86_64-i386-64bit Build start time: 15:10:45, Jan.14 2019 WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018 ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf build: : warning: Tool chain [XCODE32] is not defined build.py...  : error 4000: Not available 	[XCODE32] not defined. No toolchain available for build! - Failed - Build end time: 15:10:46, Jan.14 2019 Build total time: 00:00:00Edit EmulatorPkg/build.sh and ./build.sh againdiff --git a/build.sh.new b/build.sh index 4f653d2..339c6b3 100755 --- a/build.sh.new +++ b/build.sh @@ -63,8 +63,17 @@ case `uname` in          echo UnixPkg requires Snow Leopard or later OS          exit 1        else -        HOST_TOOLS=XCODE5 -        TARGET_TOOLS=XCODE5 +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]] +        then +        # only older versions of Xcode support -ccc-host-tripe, for newer versions +        # it is -target +          HOST_TOOLS=XCODE32 +          TARGET_TOOLS=XCODE5 +        else +          HOST_TOOLS=XCODE32 +          TARGET_TOOLS=XCLANG +        fi        fi        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"        BUILD_FAT="-D BUILD_FAT"However, this attempt still failed.Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64] "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG/AutoGen.c In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15: /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found #include <stdio.h>          ^~~~~~~~~ "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/OUTPUT/./SerMode.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c 1 error generated. make: *** [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj] Error 1 build.py...  : error 7000: Failed to execute command 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host] build.py...  : error F002: Failed to build module 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG] - Failed - Build end time: 15:16:01, Jan.14 2019 Build total time: 00:00:39After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.> clang++ -E -x c++ - -v < /dev/nullApple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ - clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0 ignoring nonexistent directory "/usr/include/c++/v1" #include "..." search starts here: #include <...> search starts here:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1  /usr/local/include  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include  /usr/include  /System/Library/Frameworks (framework directory)  /Library/Frameworks (framework directory) End of search list. # 1 "<stdin>" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 373 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "<stdin>" 2But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found> clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/nullApple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-pc-windows-macho Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ - clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0 #include "..." search starts here: #include <...> search starts here:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include End of search list. # 1 "<stdin>" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 366 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "<stdin>" 2And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file include endian.h), That will cause the macro definition to be redefined.This thing made me spend a lot of energy.Is there are anyone can solve my confusion.Thanks, ChasonTang

^ permalink raw reply	[flat|nested] 8+ messages in thread

* EmulatorPkg build issue with macOS mojave and Xcode 10
@ 2019-01-15  2:35 唐佳诚
  0 siblings, 0 replies; 8+ messages in thread
From: 唐佳诚 @ 2019-01-15  2:35 UTC (permalink / raw)
  To: edk2-devel

Hi Dear EmulatorPkg Maintainer:  I'm a newbie at this, There are some issue when building EmulatorPkg. Any inspiration or help will appreciated!OS macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkgDownload edk2-UDK2018.zipInitializing workspace> source ./edk2setup.shWORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018 EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf Copying $EDK_TOOLS_PATH/Conf/build_rule.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt Copying $EDK_TOOLS_PATH/Conf/tools_def.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt Copying $EDK_TOOLS_PATH/Conf/target.template      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt> cd EmulatorPkg && ./build.shThe BaseTools will build successfully, and EmulatorPkg will fail to build.'import sitecustomize' failed; use -v for traceback Build environment: Darwin-18.2.0-x86_64-i386-64bit Build start time: 15:10:45, Jan.14 2019 WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018 ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf build: : warning: Tool chain [XCODE32] is not defined build.py...  : error 4000: Not available 	[XCODE32] not defined. No toolchain available for build! - Failed - Build end time: 15:10:46, Jan.14 2019 Build total time: 00:00:00Edit EmulatorPkg/build.sh and ./build.sh againdiff --git a/build.sh.new b/build.sh index 4f653d2..339c6b3 100755 --- a/build.sh.new +++ b/build.sh @@ -63,8 +63,17 @@ case `uname` in          echo UnixPkg requires Snow Leopard or later OS          exit 1        else -        HOST_TOOLS=XCODE5 -        TARGET_TOOLS=XCODE5 +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]] +        then +        # only older versions of Xcode support -ccc-host-tripe, for newer versions +        # it is -target +          HOST_TOOLS=XCODE32 +          TARGET_TOOLS=XCODE5 +        else +          HOST_TOOLS=XCODE32 +          TARGET_TOOLS=XCLANG +        fi        fi        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"        BUILD_FAT="-D BUILD_FAT"However, this attempt still failed.Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64] "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG/AutoGen.c In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15: /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found #include <stdio.h>          ^~~~~~~~~ "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/OUTPUT/./SerMode.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c 1 error generated. make: *** [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj] Error 1 build.py...  : error 7000: Failed to execute command 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host] build.py...  : error F002: Failed to build module 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG] - Failed - Build end time: 15:16:01, Jan.14 2019 Build total time: 00:00:39After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.> clang++ -E -x c++ - -v < /dev/nullApple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ - clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0 ignoring nonexistent directory "/usr/include/c++/v1" #include "..." search starts here: #include <...> search starts here:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1  /usr/local/include  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include  /usr/include  /System/Library/Frameworks (framework directory)  /Library/Frameworks (framework directory) End of search list. # 1 "<stdin>" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 373 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "<stdin>" 2But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found> clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/nullApple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-pc-windows-macho Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ - clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0 #include "..." search starts here: #include <...> search starts here:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include End of search list. # 1 "<stdin>" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 366 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "<stdin>" 2And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file include endian.h), That will cause the macro definition to be redefined.This thing made me spend a lot of energy.Is there are anyone can solve my confusion.Thanks, ChasonTang

^ permalink raw reply	[flat|nested] 8+ messages in thread

* EmulatorPkg build issue with macOS mojave and Xcode 10
@ 2019-01-15  2:56 唐佳诚
  2019-01-15 16:10 ` Gao, Liming
  0 siblings, 1 reply; 8+ messages in thread
From: 唐佳诚 @ 2019-01-15  2:56 UTC (permalink / raw)
  To: edk2-devel

Hi Dear EmulatorPkg Maintainer:
  I'm a newbie at this, I am sorry for the wrong format of the previous mail. There are some issue when building EmulatorPkg. Any inspiration or help will appreciated!

OS Environment: macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkg
Download edk2-UDK2018.zip
Initializing workspace
> source ./edk2setup.sh

WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
Copying $EDK_TOOLS_PATH/Conf/build_rule.template
     to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
Copying $EDK_TOOLS_PATH/Conf/tools_def.template
     to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
Copying $EDK_TOOLS_PATH/Conf/target.template
     to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt

> cd EmulatorPkg && ./build.sh

The BaseTools will build successfully, and EmulatorPkg will fail to build.

'import sitecustomize' failed; use -v for traceback
Build environment: Darwin-18.2.0-x86_64-i386-64bit
Build start time: 15:10:45, Jan.14 2019

WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
build: : warning: Tool chain [XCODE32] is not defined


build.py...
 : error 4000: Not available
	[XCODE32] not defined. No toolchain available for build!


- Failed -
Build end time: 15:10:46, Jan.14 2019
Build total time: 00:00:00

Edit EmulatorPkg/build.sh and ./build.sh again

diff --git a/build.sh.new b/build.sh
index 4f653d2..339c6b3 100755
--- a/build.sh.new
+++ b/build.sh
@@ -63,8 +63,17 @@ case `uname` in
         echo UnixPkg requires Snow Leopard or later OS
         exit 1
       else
-        HOST_TOOLS=XCODE5
-        TARGET_TOOLS=XCODE5
+        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
+        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
+        then
+        # only older versions of Xcode support -ccc-host-tripe, for newer versions
+        # it is -target
+          HOST_TOOLS=XCODE32
+          TARGET_TOOLS=XCODE5
+        else
+          HOST_TOOLS=XCODE32
+          TARGET_TOOLS=XCLANG
+        fi
       fi
       BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
       BUILD_FAT="-D BUILD_FAT"

However, this attempt still failed.

Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
"clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c
"clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib/DEBUG/AutoGen.c
In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
"clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/OUTPUT/./SerMode.obj -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
1 error generated.
make: *** [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host]


build.py...
 : error F002: Failed to build module
	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]

- Failed -
Build end time: 15:16:01, Jan.14 2019
Build total time: 00:00:39

After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.

> clang++ -E -x c++ - -v < /dev/null

Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
 /usr/local/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
# 1 "<stdin>"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 373 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "<stdin>" 2

But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found

> clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null

Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-pc-windows-macho
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
#include "..." search starts here:
#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
End of search list.
# 1 "<stdin>"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 366 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "<stdin>" 2

We can obviously see that the XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the stdio.h, so that, preview build error is stdio.h not found.

And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file include endian.h), That will cause the macro definition to be redefined.
This thing made me spend a lot of energy.Is there are anyone can solve my confusion.
Thanks,
ChasonTang

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: EmulatorPkg build issue with macOS mojave and Xcode 10
  2019-01-15  2:56 唐佳诚
@ 2019-01-15 16:10 ` Gao, Liming
  2019-01-16 15:33   ` Gao, Liming
  0 siblings, 1 reply; 8+ messages in thread
From: Gao, Liming @ 2019-01-15 16:10 UTC (permalink / raw)
  To: 唐佳诚, edk2-devel

I check the history. EmulatorPkg doesn't support macOS. EmulatorePkg depends on XCODE32 tool chain to generate the host application. But, XCODE32 tool chain has been removed at edk2 f7bd152c2a05bd75471305184c25f14f01ccf0b7. 

I just try to add back this change, and call build.sh without the change. I meet with new issue. Seemly, I need to install XQuartz. I will continue to try it. Besides, I suggest you directly use edk2 master instead of UDK2018 branch. If I do some fix, you can directly get it. 

/Users/tiano/lgao4/AllPkg/Edk2/EmulatorPkg/Unix/Host/X11GraphicsWindow.c:21:10: fatal error: 'X11/Xlib.h' file not found

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 唐佳诚
> Sent: Tuesday, January 15, 2019 10:57 AM
> To: edk2-devel <edk2-devel@lists.01.org>
> Subject: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> 
> Hi Dear EmulatorPkg Maintainer:
>   I'm a newbie at this, I am sorry for the wrong format of the previous mail. There are some issue when building EmulatorPkg. Any
> inspiration or help will appreciated!
> 
> OS Environment: macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkg
> Download edk2-UDK2018.zip
> Initializing workspace
> > source ./edk2setup.sh
> 
> WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
> EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> Copying $EDK_TOOLS_PATH/Conf/build_rule.template
>      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
> Copying $EDK_TOOLS_PATH/Conf/tools_def.template
>      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
> Copying $EDK_TOOLS_PATH/Conf/target.template
>      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt
> 
> > cd EmulatorPkg && ./build.sh
> 
> The BaseTools will build successfully, and EmulatorPkg will fail to build.
> 
> 'import sitecustomize' failed; use -v for traceback
> Build environment: Darwin-18.2.0-x86_64-i386-64bit
> Build start time: 15:10:45, Jan.14 2019
> 
> WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
> ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> build: : warning: Tool chain [XCODE32] is not defined
> 
> 
> build.py...
>  : error 4000: Not available
> 	[XCODE32] not defined. No toolchain available for build!
> 
> 
> - Failed -
> Build end time: 15:10:46, Jan.14 2019
> Build total time: 00:00:00
> 
> Edit EmulatorPkg/build.sh and ./build.sh again
> 
> diff --git a/build.sh.new b/build.sh
> index 4f653d2..339c6b3 100755
> --- a/build.sh.new
> +++ b/build.sh
> @@ -63,8 +63,17 @@ case `uname` in
>          echo UnixPkg requires Snow Leopard or later OS
>          exit 1
>        else
> -        HOST_TOOLS=XCODE5
> -        TARGET_TOOLS=XCODE5
> +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
> +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> +        then
> +        # only older versions of Xcode support -ccc-host-tripe, for newer versions
> +        # it is -target
> +          HOST_TOOLS=XCODE32
> +          TARGET_TOOLS=XCODE5
> +        else
> +          HOST_TOOLS=XCODE32
> +          TARGET_TOOLS=XCLANG
> +        fi
>        fi
>        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
>        BUILD_FAT="-D BUILD_FAT"
> 
> However, this attempt still failed.
> 
> Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
> "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS
> -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj
> -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64
> -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host
> -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> -I/Users/QianYun/Downloads/edk2-v
>  UDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg
> -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include
> /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c
> "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> efiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib
> -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/
> UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
>  /X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> efiShellNetwork1CommandsLib/DEBUG/AutoGen.c
> In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
> /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found
> #include <stdio.h>
>          ^~~~~~~~~
> "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/Uef
> iShellDebug1CommandsLib/OUTPUT/./SerMode.obj
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib
> -I/Users/QianYun/Downloads/edk2-vUDK2018
>  /Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg
> -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
> 1 error generated.
> make: ***
> [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj]
> Error 1
> 
> 
> build.py...
>  : error 7000: Failed to execute command
> 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host]
> 
> 
> build.py...
>  : error F002: Failed to build module
> 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]
> 
> - Failed -
> Build end time: 15:16:01, Jan.14 2019
> Build total time: 00:00:39
> 
> After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.
> 
> > clang++ -E -x c++ - -v < /dev/null
> 
> Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> Target: x86_64-apple-darwin18.2.0
> Thread model: posix
> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier
> -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return
> -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v
> -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++
> -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19
> -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions
> -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
> clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> ignoring nonexistent directory "/usr/include/c++/v1"
> #include "..." search starts here:
> #include <...> search starts here:
>  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
>  /usr/local/include
>  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
>  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
>  /usr/include
>  /System/Library/Frameworks (framework directory)
>  /Library/Frameworks (framework directory)
> End of search list.
> # 1 "<stdin>"
> # 1 "<built-in>" 1
> # 1 "<built-in>" 3
> # 373 "<built-in>" 3
> # 1 "<command line>" 1
> # 1 "<built-in>" 2
> # 1 "<stdin>" 2
> 
> But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found
> 
> > clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null
> 
> Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> Target: x86_64-pc-windows-macho
> Thread model: posix
> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic
> -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64
> -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro
> -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181
> -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing
> -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiag
>  nostics-show-option -fcolor-diagnostics -o - -x c++ -
> clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> #include "..." search starts here:
> #include <...> search starts here:
>  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> End of search list.
> # 1 "<stdin>"
> # 1 "<built-in>" 1
> # 1 "<built-in>" 3
> # 366 "<built-in>" 3
> # 1 "<command line>" 1
> # 1 "<built-in>" 2
> # 1 "<stdin>" 2
> 
> We can obviously see that the XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the stdio.h, so that, preview build
> error is stdio.h not found.
> 
> And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file
> include endian.h), That will cause the macro definition to be redefined.
> This thing made me spend a lot of energy.Is there are anyone can solve my confusion.
> Thanks,
> ChasonTang
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: EmulatorPkg build issue with macOS mojave and Xcode 10
  2019-01-15 16:10 ` Gao, Liming
@ 2019-01-16 15:33   ` Gao, Liming
  2019-01-17  3:25     ` 唐佳诚
  0 siblings, 1 reply; 8+ messages in thread
From: Gao, Liming @ 2019-01-16 15:33 UTC (permalink / raw)
  To: Gao, Liming, 唐佳诚, edk2-devel

Hi, 
  I do the minimal change in Edk2 to make sure EmulatorPkg pass build in MAC. Here is the code https://github.com/lgao4/edk2/tree/XcodeEmulator. Please try to verify its functionality. If you request add this support, please enter one BZ (https://bugzilla.tianocore.org) for it. 

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
> Sent: Wednesday, January 16, 2019 12:10 AM
> To: 唐佳诚 <chasontang@warmbloom.com>; edk2-devel <edk2-devel@lists.01.org>
> Subject: Re: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> 
> I check the history. EmulatorPkg doesn't support macOS. EmulatorePkg depends on XCODE32 tool chain to generate the host application.
> But, XCODE32 tool chain has been removed at edk2 f7bd152c2a05bd75471305184c25f14f01ccf0b7.
> 
> I just try to add back this change, and call build.sh without the change. I meet with new issue. Seemly, I need to install XQuartz. I will
> continue to try it. Besides, I suggest you directly use edk2 master instead of UDK2018 branch. If I do some fix, you can directly get it.
> 
> /Users/tiano/lgao4/AllPkg/Edk2/EmulatorPkg/Unix/Host/X11GraphicsWindow.c:21:10: fatal error: 'X11/Xlib.h' file not found
> 
> Thanks
> Liming
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 唐佳诚
> > Sent: Tuesday, January 15, 2019 10:57 AM
> > To: edk2-devel <edk2-devel@lists.01.org>
> > Subject: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> >
> > Hi Dear EmulatorPkg Maintainer:
> >   I'm a newbie at this, I am sorry for the wrong format of the previous mail. There are some issue when building EmulatorPkg. Any
> > inspiration or help will appreciated!
> >
> > OS Environment: macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkg
> > Download edk2-UDK2018.zip
> > Initializing workspace
> > > source ./edk2setup.sh
> >
> > WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
> > EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > Copying $EDK_TOOLS_PATH/Conf/build_rule.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
> > Copying $EDK_TOOLS_PATH/Conf/tools_def.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
> > Copying $EDK_TOOLS_PATH/Conf/target.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt
> >
> > > cd EmulatorPkg && ./build.sh
> >
> > The BaseTools will build successfully, and EmulatorPkg will fail to build.
> >
> > 'import sitecustomize' failed; use -v for traceback
> > Build environment: Darwin-18.2.0-x86_64-i386-64bit
> > Build start time: 15:10:45, Jan.14 2019
> >
> > WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
> > ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > build: : warning: Tool chain [XCODE32] is not defined
> >
> >
> > build.py...
> >  : error 4000: Not available
> > 	[XCODE32] not defined. No toolchain available for build!
> >
> >
> > - Failed -
> > Build end time: 15:10:46, Jan.14 2019
> > Build total time: 00:00:00
> >
> > Edit EmulatorPkg/build.sh and ./build.sh again
> >
> > diff --git a/build.sh.new b/build.sh
> > index 4f653d2..339c6b3 100755
> > --- a/build.sh.new
> > +++ b/build.sh
> > @@ -63,8 +63,17 @@ case `uname` in
> >          echo UnixPkg requires Snow Leopard or later OS
> >          exit 1
> >        else
> > -        HOST_TOOLS=XCODE5
> > -        TARGET_TOOLS=XCODE5
> > +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
> > +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> > +        then
> > +        # only older versions of Xcode support -ccc-host-tripe, for newer versions
> > +        # it is -target
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCODE5
> > +        else
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCLANG
> > +        fi
> >        fi
> >        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
> >        BUILD_FAT="-D BUILD_FAT"
> >
> > However, this attempt still failed.
> >
> > Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o
> > /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-v
> >  UDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib
> >
> -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/
> > UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> >  /X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/DEBUG/AutoGen.c
> > In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found
> > #include <stdio.h>
> >          ^~~~~~~~~
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/Uef
> > iShellDebug1CommandsLib/OUTPUT/./SerMode.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib
> > -I/Users/QianYun/Downloads/edk2-vUDK2018
> >  /Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
> > 1 error generated.
> > make: ***
> > [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj]
> > Error 1
> >
> >
> > build.py...
> >  : error 7000: Failed to execute command
> > 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host]
> >
> >
> > build.py...
> >  : error F002: Failed to build module
> > 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]
> >
> > - Failed -
> > Build end time: 15:16:01, Jan.14 2019
> > Build total time: 00:00:39
> >
> > After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.
> >
> > > clang++ -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-apple-darwin18.2.0
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier
> > -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return
> > -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v
> > -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++
> > -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19
> > -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions
> > -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > ignoring nonexistent directory "/usr/include/c++/v1"
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
> >  /usr/local/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
> >  /usr/include
> >  /System/Library/Frameworks (framework directory)
> >  /Library/Frameworks (framework directory)
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 373 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found
> >
> > > clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-pc-windows-macho
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic
> > -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64
> > -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro
> > -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181
> > -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing
> > -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiag
> >  nostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 366 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > We can obviously see that the XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the stdio.h, so that, preview build
> > error is stdio.h not found.
> >
> > And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file
> > include endian.h), That will cause the macro definition to be redefined.
> > This thing made me spend a lot of energy.Is there are anyone can solve my confusion.
> > Thanks,
> > ChasonTang
> > _______________________________________________
> > 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: EmulatorPkg build issue with macOS mojave and Xcode 10
  2019-01-16 15:33   ` Gao, Liming
@ 2019-01-17  3:25     ` 唐佳诚
  2019-01-17  3:44       ` 唐佳诚
  0 siblings, 1 reply; 8+ messages in thread
From: 唐佳诚 @ 2019-01-17  3:25 UTC (permalink / raw)
  To: Gao, Liming, edk2-devel

Hi,
  I clone your git repository and checkout XcodeEmulator branch, but failed with some error. The following are the error messages.

> source ./edksetup.sh
> cd EmulatorPkg
> ./build.sh

Building from: /Users/QianYun/Downloads/edk2
using prebuilt tools
'import sitecustomize' failed; use -v for traceback
Build environment: Darwin-18.2.0-x86_64-i386-64bit
Build start time: 11:00:23, Jan.17 2019

WORKSPACE        = /Users/QianYun/Downloads/edk2
EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2/BaseTools
CONF_PATH        = /Users/QianYun/Downloads/edk2/Conf


Architecture(s)  = X64
Build target     = DEBUG
Toolchain        = XCODE32

Active Platform          = /Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.dsc
Flash Image Definition   = /Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.fdf

Processing meta-data . done!
Generating code . done!
Generating makefile . done!
Building ... /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/BaseLib.inf [X64]
"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./CheckSum.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/CheckSum.c
"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c
/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c:66:3: error: '__builtin_ms_va_start' used in System V ABI function
  __builtin_ms_va_start (Marker, NewStack);
  ^
1 error generated.
make: *** [/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwitchStack.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make -f /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/GNUmakefile pbuild [/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64]

- Failed -
Build end time: 11:00:26, Jan.17 2019
Build total time: 00:00:03

Then I checked the source code and cc flag between XcodeEmulator branch and master.
XcodeEmulator:
gcc -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c

master:
clang -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Code/edk2/MdePkg -I/Users/QianYun/Code/edk2/MdePkg/Include -I/Users/QianYun/Code/edk2/MdePkg/Include/X64 /Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/SwitchStack.c

Maybe we should add NO_MSABI_VA_FUNCS to avoid the error. Then i edit Conf/tools_def.txt DEBUG_XCODE32_X64_CC_FLAGS RELEASE_XCODE32_X64_CC_FLAGS to add this flag. then it success, but run failed

> cd Build/EmulatorX64/DEBUG_XCODE5/X64
> ./Host

EDK II UNIX Host Emulation Environment from http://www.tianocore.org/edk2/
  BootMode 0x00
  OS Emulator passing in 128 KB of temp RAM at 0x10b000000 to SEC
MapFd0() Failed res =: Invalid argument
ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd (7).  Exiting.

Thanks for you help, i'll try to rebuild the toochain in UDK2018 or master branch, if there are some progress, i'll report my working condition.

By the way, the gdb attach Host executable file cannot find the ../FV/FV_RECOVERY.fd file, so i have to enter the output directory and execute it, since that the current working directory of build.sh is edk2/EmulatorPkg, Maybe we can fix it for the more convenient debugging

Thanks
ChasonTang

  ------------------ Original ------------------From:  "Gao, Liming"<liming.gao@intel.com>;Date:  Wed, Jan 16, 2019 11:33 PMTo:  "Gao, Liming"<liming.gao@intel.com>; "唐佳诚"<chasontang@warmbloom.com>; "edk2-devel"<edk2-devel@lists.01.org>; Subject:  RE: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10 Hi, 
  I do the minimal change in Edk2 to make sure EmulatorPkg pass build in MAC. Here is the code https://github.com/lgao4/edk2/tree/XcodeEmulator. Please try to verify its functionality. If you request add this support, please enter one BZ (https://bugzilla.tianocore.org) for it. 

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
> Sent: Wednesday, January 16, 2019 12:10 AM
> To: 唐佳诚 <chasontang@warmbloom.com>; edk2-devel <edk2-devel@lists.01.org>
> Subject: Re: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> 
> I check the history. EmulatorPkg doesn't support macOS. EmulatorePkg depends on XCODE32 tool chain to generate the host application.
> But, XCODE32 tool chain has been removed at edk2 f7bd152c2a05bd75471305184c25f14f01ccf0b7.
> 
> I just try to add back this change, and call build.sh without the change. I meet with new issue. Seemly, I need to install XQuartz. I will
> continue to try it. Besides, I suggest you directly use edk2 master instead of UDK2018 branch. If I do some fix, you can directly get it.
> 
> /Users/tiano/lgao4/AllPkg/Edk2/EmulatorPkg/Unix/Host/X11GraphicsWindow.c:21:10: fatal error: 'X11/Xlib.h' file not found
> 
> Thanks
> Liming
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 唐佳诚
> > Sent: Tuesday, January 15, 2019 10:57 AM
> > To: edk2-devel <edk2-devel@lists.01.org>
> > Subject: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> >
> > Hi Dear EmulatorPkg Maintainer:
> >   I'm a newbie at this, I am sorry for the wrong format of the previous mail. There are some issue when building EmulatorPkg. Any
> > inspiration or help will appreciated!
> >
> > OS Environment: macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkg
> > Download edk2-UDK2018.zip
> > Initializing workspace
> > > source ./edk2setup.sh
> >
> > WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
> > EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > Copying $EDK_TOOLS_PATH/Conf/build_rule.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
> > Copying $EDK_TOOLS_PATH/Conf/tools_def.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
> > Copying $EDK_TOOLS_PATH/Conf/target.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt
> >
> > > cd EmulatorPkg && ./build.sh
> >
> > The BaseTools will build successfully, and EmulatorPkg will fail to build.
> >
> > 'import sitecustomize' failed; use -v for traceback
> > Build environment: Darwin-18.2.0-x86_64-i386-64bit
> > Build start time: 15:10:45, Jan.14 2019
> >
> > WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
> > ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > build: : warning: Tool chain [XCODE32] is not defined
> >
> >
> > build.py...
> >  : error 4000: Not available
> > 	[XCODE32] not defined. No toolchain available for build!
> >
> >
> > - Failed -
> > Build end time: 15:10:46, Jan.14 2019
> > Build total time: 00:00:00
> >
> > Edit EmulatorPkg/build.sh and ./build.sh again
> >
> > diff --git a/build.sh.new b/build.sh
> > index 4f653d2..339c6b3 100755
> > --- a/build.sh.new
> > +++ b/build.sh
> > @@ -63,8 +63,17 @@ case `uname` in
> >          echo UnixPkg requires Snow Leopard or later OS
> >          exit 1
> >        else
> > -        HOST_TOOLS=XCODE5
> > -        TARGET_TOOLS=XCODE5
> > +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
> > +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> > +        then
> > +        # only older versions of Xcode support -ccc-host-tripe, for newer versions
> > +        # it is -target
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCODE5
> > +        else
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCLANG
> > +        fi
> >        fi
> >        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
> >        BUILD_FAT="-D BUILD_FAT"
> >
> > However, this attempt still failed.
> >
> > Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o
> > /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-v
> >  UDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib
> >
> -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/
> > UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> >  /X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/DEBUG/AutoGen.c
> > In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found
> > #include <stdio.h>
> >          ^~~~~~~~~
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/Uef
> > iShellDebug1CommandsLib/OUTPUT/./SerMode.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib
> > -I/Users/QianYun/Downloads/edk2-vUDK2018
> >  /Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
> > 1 error generated.
> > make: ***
> > [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj]
> > Error 1
> >
> >
> > build.py...
> >  : error 7000: Failed to execute command
> > 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host]
> >
> >
> > build.py...
> >  : error F002: Failed to build module
> > 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]
> >
> > - Failed -
> > Build end time: 15:16:01, Jan.14 2019
> > Build total time: 00:00:39
> >
> > After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.
> >
> > > clang++ -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-apple-darwin18.2.0
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier
> > -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return
> > -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v
> > -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++
> > -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19
> > -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions
> > -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > ignoring nonexistent directory "/usr/include/c++/v1"
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
> >  /usr/local/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
> >  /usr/include
> >  /System/Library/Frameworks (framework directory)
> >  /Library/Frameworks (framework directory)
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 373 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found
> >
> > > clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-pc-windows-macho
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic
> > -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64
> > -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro
> > -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181
> > -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing
> > -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiag
> >  nostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 366 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > We can obviously see that the XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the stdio.h, so that, preview build
> > error is stdio.h not found.
> >
> > And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file
> > include endian.h), That will cause the macro definition to be redefined.
> > This thing made me spend a lot of energy.Is there are anyone can solve my confusion.
> > Thanks,
> > ChasonTang
> > _______________________________________________
> > 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: EmulatorPkg build issue with macOS mojave and Xcode 10
  2019-01-17  3:25     ` 唐佳诚
@ 2019-01-17  3:44       ` 唐佳诚
  2019-01-17  3:49         ` Gao, Liming
  0 siblings, 1 reply; 8+ messages in thread
From: 唐佳诚 @ 2019-01-17  3:44 UTC (permalink / raw)
  To: Gao, Liming, edk2-devel

Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1471

Thanks
ChasonTang
  ------------------ Original ------------------From:  "唐佳诚"<chasontang@warmbloom.com>;Date:  Thu, Jan 17, 2019 11:25 AMTo:  "Gao, Liming"<liming.gao@intel.com>; "edk2-devel"<edk2-devel@lists.01.org>; Subject:  Re:RE: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10 Hi,
  I clone your git repository and checkout XcodeEmulator branch, but failed with some error. The following are the error messages.

> source ./edksetup.sh
> cd EmulatorPkg
> ./build.sh

Building from: /Users/QianYun/Downloads/edk2
using prebuilt tools
'import sitecustomize' failed; use -v for traceback
Build environment: Darwin-18.2.0-x86_64-i386-64bit
Build start time: 11:00:23, Jan.17 2019

WORKSPACE        = /Users/QianYun/Downloads/edk2
EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2/BaseTools
CONF_PATH        = /Users/QianYun/Downloads/edk2/Conf


Architecture(s)  = X64
Build target     = DEBUG
Toolchain        = XCODE32

Active Platform          = /Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.dsc
Flash Image Definition   = /Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.fdf

Processing meta-data . done!
Generating code . done!
Generating makefile . done!
Building ... /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/BaseLib.inf [X64]
"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./CheckSum.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/CheckSum.c
"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c
/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c:66:3: error: '__builtin_ms_va_start' used in System V ABI function
  __builtin_ms_va_start (Marker, NewStack);
  ^
1 error generated.
make: *** [/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwitchStack.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make -f /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/GNUmakefile pbuild [/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64]

- Failed -
Build end time: 11:00:26, Jan.17 2019
Build total time: 00:00:03

Then I checked the source code and cc flag between XcodeEmulator branch and master.
XcodeEmulator:
gcc -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector -o /Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Downloads/edk2/MdePkg -I/Users/QianYun/Downloads/edk2/MdePkg/Include -I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64 /Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c

master:
clang -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o /Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/X64 -I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib -I/Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Code/edk2/MdePkg -I/Users/QianYun/Code/edk2/MdePkg/Include -I/Users/QianYun/Code/edk2/MdePkg/Include/X64 /Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/SwitchStack.c

Maybe we should add NO_MSABI_VA_FUNCS to avoid the error. Then i edit Conf/tools_def.txt DEBUG_XCODE32_X64_CC_FLAGS RELEASE_XCODE32_X64_CC_FLAGS to add this flag. then it success, but run failed

> cd Build/EmulatorX64/DEBUG_XCODE5/X64
> ./Host

EDK II UNIX Host Emulation Environment from http://www.tianocore.org/edk2/
  BootMode 0x00
  OS Emulator passing in 128 KB of temp RAM at 0x10b000000 to SEC
MapFd0() Failed res =: Invalid argument
ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd (7).  Exiting.

Thanks for you help, i'll try to rebuild the toochain in UDK2018 or master branch, if there are some progress, i'll report my working condition.

By the way, the gdb attach Host executable file cannot find the ../FV/FV_RECOVERY.fd file, so i have to enter the output directory and execute it, since that the current working directory of build.sh is edk2/EmulatorPkg, Maybe we can fix it for the more convenient debugging

Thanks
ChasonTang

  ------------------ Original ------------------From:  "Gao, Liming"<liming.gao@intel.com>;Date:  Wed, Jan 16, 2019 11:33 PMTo:  "Gao, Liming"<liming.gao@intel.com>; "唐佳诚"<chasontang@warmbloom.com>; "edk2-devel"<edk2-devel@lists.01.org>; Subject:  RE: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10 Hi, 
  I do the minimal change in Edk2 to make sure EmulatorPkg pass build in MAC. Here is the code https://github.com/lgao4/edk2/tree/XcodeEmulator. Please try to verify its functionality. If you request add this support, please enter one BZ (https://bugzilla.tianocore.org) for it. 

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
> Sent: Wednesday, January 16, 2019 12:10 AM
> To: 唐佳诚 <chasontang@warmbloom.com>; edk2-devel <edk2-devel@lists.01.org>
> Subject: Re: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> 
> I check the history. EmulatorPkg doesn't support macOS. EmulatorePkg depends on XCODE32 tool chain to generate the host application.
> But, XCODE32 tool chain has been removed at edk2 f7bd152c2a05bd75471305184c25f14f01ccf0b7.
> 
> I just try to add back this change, and call build.sh without the change. I meet with new issue. Seemly, I need to install XQuartz. I will
> continue to try it. Besides, I suggest you directly use edk2 master instead of UDK2018 branch. If I do some fix, you can directly get it.
> 
> /Users/tiano/lgao4/AllPkg/Edk2/EmulatorPkg/Unix/Host/X11GraphicsWindow.c:21:10: fatal error: 'X11/Xlib.h' file not found
> 
> Thanks
> Liming
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 唐佳诚
> > Sent: Tuesday, January 15, 2019 10:57 AM
> > To: edk2-devel <edk2-devel@lists.01.org>
> > Subject: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
> >
> > Hi Dear EmulatorPkg Maintainer:
> >   I'm a newbie at this, I am sorry for the wrong format of the previous mail. There are some issue when building EmulatorPkg. Any
> > inspiration or help will appreciated!
> >
> > OS Environment: macOS mojave with Xcode 10 command line tool and installed macOS_SDK_headers_for_macOS_10.14.pkg
> > Download edk2-UDK2018.zip
> > Initializing workspace
> > > source ./edk2setup.sh
> >
> > WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
> > EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > Copying $EDK_TOOLS_PATH/Conf/build_rule.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
> > Copying $EDK_TOOLS_PATH/Conf/tools_def.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
> > Copying $EDK_TOOLS_PATH/Conf/target.template
> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt
> >
> > > cd EmulatorPkg && ./build.sh
> >
> > The BaseTools will build successfully, and EmulatorPkg will fail to build.
> >
> > 'import sitecustomize' failed; use -v for traceback
> > Build environment: Darwin-18.2.0-x86_64-i386-64bit
> > Build start time: 15:10:45, Jan.14 2019
> >
> > WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
> > ECP_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EFI_SOURCE       = /Users/QianYun/Downloads/edk2-vUDK2018/EdkCompatibilityPkg
> > EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-vUDK2018/BaseTools
> > CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
> > build: : warning: Tool chain [XCODE32] is not defined
> >
> >
> > build.py...
> >  : error 4000: Not available
> > 	[XCODE32] not defined. No toolchain available for build!
> >
> >
> > - Failed -
> > Build end time: 15:10:46, Jan.14 2019
> > Build total time: 00:00:00
> >
> > Edit EmulatorPkg/build.sh and ./build.sh again
> >
> > diff --git a/build.sh.new b/build.sh
> > index 4f653d2..339c6b3 100755
> > --- a/build.sh.new
> > +++ b/build.sh
> > @@ -63,8 +63,17 @@ case `uname` in
> >          echo UnixPkg requires Snow Leopard or later OS
> >          exit 1
> >        else
> > -        HOST_TOOLS=XCODE5
> > -        TARGET_TOOLS=XCODE5
> > +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
> > +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> > +        then
> > +        # only older versions of Xcode support -ccc-host-tripe, for newer versions
> > +        # it is -target
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCODE5
> > +        else
> > +          HOST_TOOLS=XCODE32
> > +          TARGET_TOOLS=XCLANG
> > +        fi
> >        fi
> >        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
> >        BUILD_FAT="-D BUILD_FAT"
> >
> > However, this attempt still failed.
> >
> > Building ... /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o
> > /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/./Host.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/X64
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-v
> >  UDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib
> >
> -I/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/
> > UefiShellNetwork1CommandsLib/DEBUG -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> >  /X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellNetwork1CommandsLib/U
> > efiShellNetwork1CommandsLib/DEBUG/AutoGen.c
> > In file included from /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
> > /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not found
> > #include <stdio.h>
> >          ^~~~~~~~~
> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces
> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS  -o
> >
> /Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/Uef
> > iShellDebug1CommandsLib/OUTPUT/./SerMode.obj
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib
> > -I/Users/QianYun/Downloads/edk2-vUDK2018
> >  /Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib/DEBUG
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
> > /Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
> > 1 error generated.
> > make: ***
> > [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host/OUTPUT/Host.obj]
> > Error 1
> >
> >
> > build.py...
> >  : error 7000: Failed to execute command
> > 	make tbuild [/Users/QianYun/Downloads/edk2-vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Host]
> >
> >
> > build.py...
> >  : error F002: Failed to build module
> > 	/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]
> >
> > - Failed -
> > Build end time: 15:16:01, Jan.14 2019
> > Build total time: 00:00:39
> >
> > After careful analysis, i find out that the include search path is wrong. clang will search some path below by default.
> >
> > > clang++ -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-apple-darwin18.2.0
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier
> > -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return
> > -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v
> > -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -stdlib=libc++
> > -fdeprecated-macro -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19
> > -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions
> > -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > ignoring nonexistent directory "/usr/include/c++/v1"
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
> >  /usr/local/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
> >  /usr/include
> >  /System/Library/Frameworks (framework directory)
> >  /Library/Frameworks (framework directory)
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 373 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > But -target x86_64-pc-win32-macho will working in cross-compilation mode. it will search this path and stdio.h will not found
> >
> > > clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null
> >
> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
> > Target: x86_64-pc-windows-macho
> > Thread model: posix
> > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >  "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple
> > x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic
> > -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64
> > -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v -resource-dir
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0 -internal-isystem
> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include -fdeprecated-macro
> > -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181
> > -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.11 -std=c++14 -fdelayed-template-parsing
> > -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiag
> >  nostics-show-option -fcolor-diagnostics -o - -x c++ -
> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-darwin18.2.0
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include
> > End of search list.
> > # 1 "<stdin>"
> > # 1 "<built-in>" 1
> > # 1 "<built-in>" 3
> > # 366 "<built-in>" 3
> > # 1 "<command line>" 1
> > # 1 "<built-in>" 2
> > # 1 "<stdin>" 2
> >
> > We can obviously see that the XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the stdio.h, so that, preview build
> > error is stdio.h not found.
> >
> > And there is another thing that puzzles me. The EmulatorPkg/Unix/Host/Host.h define some name mangle, and include stdio.h(this file
> > include endian.h), That will cause the macro definition to be redefined.
> > This thing made me spend a lot of energy.Is there are anyone can solve my confusion.
> > Thanks,
> > ChasonTang
> > _______________________________________________
> > 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: EmulatorPkg build issue with macOS mojave and Xcode 10
  2019-01-17  3:44       ` 唐佳诚
@ 2019-01-17  3:49         ` Gao, Liming
  0 siblings, 0 replies; 8+ messages in thread
From: Gao, Liming @ 2019-01-17  3:49 UTC (permalink / raw)
  To: 唐佳诚, edk2-devel

Hi, 
 NO_MSABI_VA_FUNCS flag is required. I miss to add it. I don't verify its boot. If you have any finding, please reply the mail. 

Thanks
Liming
>-----Original Message-----
>From: 唐佳诚 [mailto:chasontang@warmbloom.com]
>Sent: Thursday, January 17, 2019 11:45 AM
>To: Gao, Liming <liming.gao@intel.com>; edk2-devel <edk2-
>devel@lists.01.org>
>Subject: Re:RE: [edk2] EmulatorPkg build issue with macOS mojave and Xcode
>10
>
>Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1471
>
>Thanks
>ChasonTang
>  ------------------ Original ------------------From:  "唐佳诚
>"<chasontang@warmbloom.com>;Date:  Thu, Jan 17, 2019 11:25 AMTo:  "Gao,
>Liming"<liming.gao@intel.com>; "edk2-devel"<edk2-devel@lists.01.org>;
>Subject:  Re:RE: [edk2] EmulatorPkg build issue with macOS mojave and Xcode
>10 Hi,
>  I clone your git repository and checkout XcodeEmulator branch, but failed
>with some error. The following are the error messages.
>
>> source ./edksetup.sh
>> cd EmulatorPkg
>> ./build.sh
>
>Building from: /Users/QianYun/Downloads/edk2
>using prebuilt tools
>'import sitecustomize' failed; use -v for traceback
>Build environment: Darwin-18.2.0-x86_64-i386-64bit
>Build start time: 11:00:23, Jan.17 2019
>
>WORKSPACE        = /Users/QianYun/Downloads/edk2
>EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2/BaseTools
>CONF_PATH        = /Users/QianYun/Downloads/edk2/Conf
>
>
>Architecture(s)  = X64
>Build target     = DEBUG
>Toolchain        = XCODE32
>
>Active Platform          =
>/Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.dsc
>Flash Image Definition   =
>/Users/QianYun/Downloads/edk2/EmulatorPkg/EmulatorPkg.fdf
>
>Processing meta-data . done!
>Generating code . done!
>Generating makefile . done!
>Building ...
>/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/BaseLib.inf [X64]
>"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-
>strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-
>pointer -static -c -include AutoGen.h -fno-stack-protector -o
>/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/
>MdePkg/Library/BaseLib/BaseLib/OUTPUT/./CheckSum.obj -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -
>I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64
>/MdePkg/Library/BaseLib/BaseLib/DEBUG -
>I/Users/QianYun/Downloads/edk2/MdePkg -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64
>/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/CheckSum.c
>"gcc" -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-
>strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-
>pointer -static -c -include AutoGen.h -fno-stack-protector -o
>/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/
>MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -
>I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64
>/MdePkg/Library/BaseLib/BaseLib/DEBUG -
>I/Users/QianYun/Downloads/edk2/MdePkg -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64
>/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c
>/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c:66:
>3: error: '__builtin_ms_va_start' used in System V ABI function
>  __builtin_ms_va_start (Marker, NewStack);
>  ^
>1 error generated.
>make: ***
>[/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64
>/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwitchStack.obj] Error 1
>
>
>build.py...
> : error 7000: Failed to execute command
>	make -f
>/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/
>MdePkg/Library/BaseLib/BaseLib/GNUmakefile pbuild
>[/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64]
>
>- Failed -
>Build end time: 11:00:26, Jan.17 2019
>Build total time: 00:00:03
>
>Then I checked the source code and cc flag between XcodeEmulator branch
>and master.
>XcodeEmulator:
>gcc -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-
>aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-
>pointer -static -c -include AutoGen.h -fno-stack-protector -o
>/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64/
>MdePkg/Library/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/X64 -
>I/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib -
>I/Users/QianYun/Downloads/edk2/Build/EmulatorX64/DEBUG_XCODE32/X64
>/MdePkg/Library/BaseLib/BaseLib/DEBUG -
>I/Users/QianYun/Downloads/edk2/MdePkg -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include -
>I/Users/QianYun/Downloads/edk2/MdePkg/Include/X64
>/Users/QianYun/Downloads/edk2/MdePkg/Library/BaseLib/SwitchStack.c
>
>master:
>clang -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -
>fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-
>implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -
>Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
>-Wno-varargs -ftrap-
>function=undefined_behavior_has_been_optimized_away_by_clang -D
>NO_MSABI_VA_FUNCS  -o
>/Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/Li
>brary/BaseLib/BaseLib/OUTPUT/./SwitchStack.obj -
>I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/X64 -
>I/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib -
>I/Users/QianYun/Code/edk2/Build/Emulator/DEBUG_XCODE5/X64/MdePkg/
>Library/BaseLib/BaseLib/DEBUG -I/Users/QianYun/Code/edk2/MdePkg -
>I/Users/QianYun/Code/edk2/MdePkg/Include -
>I/Users/QianYun/Code/edk2/MdePkg/Include/X64
>/Users/QianYun/Code/edk2/MdePkg/Library/BaseLib/SwitchStack.c
>
>Maybe we should add NO_MSABI_VA_FUNCS to avoid the error. Then i edit
>Conf/tools_def.txt DEBUG_XCODE32_X64_CC_FLAGS
>RELEASE_XCODE32_X64_CC_FLAGS to add this flag. then it success, but run
>failed
>
>> cd Build/EmulatorX64/DEBUG_XCODE5/X64
>> ./Host
>
>EDK II UNIX Host Emulation Environment from
>http://www.tianocore.org/edk2/
>  BootMode 0x00
>  OS Emulator passing in 128 KB of temp RAM at 0x10b000000 to SEC
>MapFd0() Failed res =: Invalid argument
>ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd (7).  Exiting.
>
>Thanks for you help, i'll try to rebuild the toochain in UDK2018 or master
>branch, if there are some progress, i'll report my working condition.
>
>By the way, the gdb attach Host executable file cannot find
>the ../FV/FV_RECOVERY.fd file, so i have to enter the output directory and
>execute it, since that the current working directory of build.sh is
>edk2/EmulatorPkg, Maybe we can fix it for the more convenient debugging
>
>Thanks
>ChasonTang
>
>  ------------------ Original ------------------From:  "Gao,
>Liming"<liming.gao@intel.com>;Date:  Wed, Jan 16, 2019 11:33 PMTo:  "Gao,
>Liming"<liming.gao@intel.com>; "唐佳诚"<chasontang@warmbloom.com>;
>"edk2-devel"<edk2-devel@lists.01.org>; Subject:  RE: [edk2] EmulatorPkg
>build issue with macOS mojave and Xcode 10 Hi,
>  I do the minimal change in Edk2 to make sure EmulatorPkg pass build in MAC.
>Here is the code https://github.com/lgao4/edk2/tree/XcodeEmulator. Please
>try to verify its functionality. If you request add this support, please enter one
>BZ (https://bugzilla.tianocore.org) for it.
>
>Thanks
>Liming
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Gao, Liming
>> Sent: Wednesday, January 16, 2019 12:10 AM
>> To: 唐佳诚 <chasontang@warmbloom.com>; edk2-devel <edk2-
>devel@lists.01.org>
>> Subject: Re: [edk2] EmulatorPkg build issue with macOS mojave and Xcode
>10
>>
>> I check the history. EmulatorPkg doesn't support macOS. EmulatorePkg
>depends on XCODE32 tool chain to generate the host application.
>> But, XCODE32 tool chain has been removed at edk2
>f7bd152c2a05bd75471305184c25f14f01ccf0b7.
>>
>> I just try to add back this change, and call build.sh without the change. I
>meet with new issue. Seemly, I need to install XQuartz. I will
>> continue to try it. Besides, I suggest you directly use edk2 master instead of
>UDK2018 branch. If I do some fix, you can directly get it.
>>
>>
>/Users/tiano/lgao4/AllPkg/Edk2/EmulatorPkg/Unix/Host/X11GraphicsWindo
>w.c:21:10: fatal error: 'X11/Xlib.h' file not found
>>
>> Thanks
>> Liming
>> > -----Original Message-----
>> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>唐佳诚
>> > Sent: Tuesday, January 15, 2019 10:57 AM
>> > To: edk2-devel <edk2-devel@lists.01.org>
>> > Subject: [edk2] EmulatorPkg build issue with macOS mojave and Xcode 10
>> >
>> > Hi Dear EmulatorPkg Maintainer:
>> >   I'm a newbie at this, I am sorry for the wrong format of the previous mail.
>There are some issue when building EmulatorPkg. Any
>> > inspiration or help will appreciated!
>> >
>> > OS Environment: macOS mojave with Xcode 10 command line tool and
>installed macOS_SDK_headers_for_macOS_10.14.pkg
>> > Download edk2-UDK2018.zip
>> > Initializing workspace
>> > > source ./edk2setup.sh
>> >
>> > WORKSPACE: /Users/QianYun/Downloads/edk2-vUDK2018
>> > EDK_TOOLS_PATH: /Users/QianYun/Downloads/edk2-
>vUDK2018/BaseTools
>> > CONF_PATH: /Users/QianYun/Downloads/edk2-vUDK2018/Conf
>> > Copying $EDK_TOOLS_PATH/Conf/build_rule.template
>> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/build_rule.txt
>> > Copying $EDK_TOOLS_PATH/Conf/tools_def.template
>> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/tools_def.txt
>> > Copying $EDK_TOOLS_PATH/Conf/target.template
>> >      to /Users/QianYun/Downloads/edk2-vUDK2018/Conf/target.txt
>> >
>> > > cd EmulatorPkg && ./build.sh
>> >
>> > The BaseTools will build successfully, and EmulatorPkg will fail to build.
>> >
>> > 'import sitecustomize' failed; use -v for traceback
>> > Build environment: Darwin-18.2.0-x86_64-i386-64bit
>> > Build start time: 15:10:45, Jan.14 2019
>> >
>> > WORKSPACE        = /Users/QianYun/Downloads/edk2-vUDK2018
>> > ECP_SOURCE       = /Users/QianYun/Downloads/edk2-
>vUDK2018/EdkCompatibilityPkg
>> > EDK_SOURCE       = /Users/QianYun/Downloads/edk2-
>vUDK2018/EdkCompatibilityPkg
>> > EFI_SOURCE       = /Users/QianYun/Downloads/edk2-
>vUDK2018/EdkCompatibilityPkg
>> > EDK_TOOLS_PATH   = /Users/QianYun/Downloads/edk2-
>vUDK2018/BaseTools
>> > CONF_PATH        = /Users/QianYun/Downloads/edk2-vUDK2018/Conf
>> > build: : warning: Tool chain [XCODE32] is not defined
>> >
>> >
>> > build.py...
>> >  : error 4000: Not available
>> > 	[XCODE32] not defined. No toolchain available for build!
>> >
>> >
>> > - Failed -
>> > Build end time: 15:10:46, Jan.14 2019
>> > Build total time: 00:00:00
>> >
>> > Edit EmulatorPkg/build.sh and ./build.sh again
>> >
>> > diff --git a/build.sh.new b/build.sh
>> > index 4f653d2..339c6b3 100755
>> > --- a/build.sh.new
>> > +++ b/build.sh
>> > @@ -63,8 +63,17 @@ case `uname` in
>> >          echo UnixPkg requires Snow Leopard or later OS
>> >          exit 1
>> >        else
>> > -        HOST_TOOLS=XCODE5
>> > -        TARGET_TOOLS=XCODE5
>> > +        CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho
>2>&1 >/dev/null) || true
>> > +        if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
>> > +        then
>> > +        # only older versions of Xcode support -ccc-host-tripe, for newer
>versions
>> > +        # it is -target
>> > +          HOST_TOOLS=XCODE32
>> > +          TARGET_TOOLS=XCODE5
>> > +        else
>> > +          HOST_TOOLS=XCODE32
>> > +          TARGET_TOOLS=XCLANG
>> > +        fi
>> >        fi
>> >        BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
>> >        BUILD_FAT="-D BUILD_FAT"
>> >
>> > However, this attempt still failed.
>> >
>> > Building ... /Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64]
>> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -
>include AutoGen.h -funsigned-char -fno-ms-extensions
>> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-
>bitfields -Wno-unused-parameter -Wno-missing-braces
>> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-
>compare -Wno-varargs
>> > -ftrap-
>function=undefined_behavior_has_been_optimized_away_by_clang -D
>NO_MSABI_VA_FUNCS
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/X11IncludeHack -o
>> > /Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Hos
>t/OUTPUT/./Host.obj
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/X64
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Unix/Host
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Hos
>t/DEBUG
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
>> > -I/Users/QianYun/Downloads/edk2-v
>> >  UDK2018/MdePkg/Include/X64 -I/Users/QianYun/Downloads/edk2-
>vUDK2018/MdeModulePkg
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include -
>I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg/Include
>> > /Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/Host.c
>> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -
>include AutoGen.h -funsigned-char -fno-ms-extensions
>> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-
>bitfields -Wno-unused-parameter -Wno-missing-braces
>> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-
>compare -Wno-varargs
>> > -ftrap-
>function=undefined_behavior_has_been_optimized_away_by_clang -D
>NO_MSABI_VA_FUNCS  -o
>> >
>> /Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellN
>etwork1CommandsLib/U
>> > efiShellNetwork1CommandsLib/OUTPUT/./AutoGen.obj
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellNetwork1CommandsLib
>> >
>> -I/Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellN
>etwork1CommandsLib/
>> > UefiShellNetwork1CommandsLib/DEBUG -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
>> >  /X64 -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg -
>I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
>> >
>> /Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellN
>etwork1CommandsLib/U
>> > efiShellNetwork1CommandsLib/DEBUG/AutoGen.c
>> > In file included from /Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/Host.c:15:
>> > /Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/Host.h:28:10: fatal error: 'stdio.h' file not
>found
>> > #include <stdio.h>
>> >          ^~~~~~~~~
>> > "clang" -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -
>include AutoGen.h -funsigned-char -fno-ms-extensions
>> > -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-
>bitfields -Wno-unused-parameter -Wno-missing-braces
>> > -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-
>compare -Wno-varargs
>> > -ftrap-
>function=undefined_behavior_has_been_optimized_away_by_clang -D
>NO_MSABI_VA_FUNCS  -o
>> >
>> /Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDe
>bug1CommandsLib/Uef
>> > iShellDebug1CommandsLib/OUTPUT/./SerMode.obj
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView
>> > -I/Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018
>> >
>/Build/Emulator/DEBUG_XCODE5/X64/ShellPkg/Library/UefiShellDebug1Com
>mandsLib/UefiShellDebug1CommandsLib/DEBUG
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdePkg/Include/X64 -
>I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/ShellPkg/Include -
>I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg
>> > -I/Users/QianYun/Downloads/edk2-vUDK2018/MdeModulePkg/Include
>> > /Users/QianYun/Downloads/edk2-
>vUDK2018/ShellPkg/Library/UefiShellDebug1CommandsLib/SerMode.c
>> > 1 error generated.
>> > make: ***
>> > [/Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Hos
>t/OUTPUT/Host.obj]
>> > Error 1
>> >
>> >
>> > build.py...
>> >  : error 7000: Failed to execute command
>> > 	make tbuild [/Users/QianYun/Downloads/edk2-
>vUDK2018/Build/Emulator/DEBUG_XCODE5/X64/EmulatorPkg/Unix/Host/Hos
>t]
>> >
>> >
>> > build.py...
>> >  : error F002: Failed to build module
>> > 	/Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg/Unix/Host/Host.inf [X64, XCODE5, DEBUG]
>> >
>> > - Failed -
>> > Build end time: 15:16:01, Jan.14 2019
>> > Build total time: 00:00:39
>> >
>> > After careful analysis, i find out that the include search path is wrong. clang
>will search some path below by default.
>> >
>> > > clang++ -E -x c++ - -v < /dev/null
>> >
>> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
>> > Target: x86_64-apple-darwin18.2.0
>> > Thread model: posix
>> > InstalledDir:
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/bin
>> >
>"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xct
>oolchain/usr/bin/clang" -cc1 -triple
>> > x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -
>Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier
>> > -discard-value-names -main-file-name - -mrelocation-model pic -pic-level
>2 -mthread-model posix -mdisable-fp-elim -fno-strict-return
>> > -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info
>-debugger-tuning=lldb -target-linker-version 409.12 -v
>> > -resource-dir
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/lib/clang/10.0.0 -stdlib=libc++
>> > -fdeprecated-macro -fdebug-compilation-dir
>/Users/QianYun/Downloads/edk2-vUDK2018/EmulatorPkg -ferror-limit 19
>> > -fmessage-length 181 -stack-protector 1 -fblocks -fencode-extended-
>block-signature -fobjc-runtime=macosx-10.14.0 -fcxx-exceptions
>> > -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-
>diagnostics -o - -x c++ -
>> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-
>darwin18.2.0
>> > ignoring nonexistent directory "/usr/include/c++/v1"
>> > #include "..." search starts here:
>> > #include <...> search starts here:
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/include/c++/v1
>> >  /usr/local/include
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/lib/clang/10.0.0/include
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/include
>> >  /usr/include
>> >  /System/Library/Frameworks (framework directory)
>> >  /Library/Frameworks (framework directory)
>> > End of search list.
>> > # 1 "<stdin>"
>> > # 1 "<built-in>" 1
>> > # 1 "<built-in>" 3
>> > # 373 "<built-in>" 3
>> > # 1 "<command line>" 1
>> > # 1 "<built-in>" 2
>> > # 1 "<stdin>" 2
>> >
>> > But -target x86_64-pc-win32-macho will working in cross-compilation
>mode. it will search this path and stdio.h will not found
>> >
>> > > clang++ -target x86_64-pc-win32-macho -E -x c++ - -v < /dev/null
>> >
>> > Apple LLVM version 10.0.0 (clang-1000.11.45.5)
>> > Target: x86_64-pc-windows-macho
>> > Thread model: posix
>> > InstalledDir:
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/bin
>> >
>"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xct
>oolchain/usr/bin/clang" -cc1 -triple
>> > x86_64-pc-windows-macho -E -disable-free -disable-llvm-verifier -discard-
>value-names -main-file-name - -mrelocation-model pic
>> > -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-
>verbose -mconstructor-aliases -target-cpu x86-64
>> > -dwarf-column-info -debugger-tuning=gdb -target-linker-version 409.12 -v
>-resource-dir
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/lib/clang/10.0.0 -internal-isystem
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/lib/clang/10.0.0/include -fdeprecated-macro
>> > -fdebug-compilation-dir /Users/QianYun/Downloads/edk2-
>vUDK2018/EmulatorPkg -ferror-limit 19 -fmessage-length 181
>> > -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-
>version=19.11 -std=c++14 -fdelayed-template-parsing
>> > -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fseh-exceptions -fdiag
>> >  nostics-show-option -fcolor-diagnostics -o - -x c++ -
>> > clang -cc1 version 10.0.0 (clang-1000.11.45.5) default target x86_64-apple-
>darwin18.2.0
>> > #include "..." search starts here:
>> > #include <...> search starts here:
>> >
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
>olchain/usr/lib/clang/10.0.0/include
>> > End of search list.
>> > # 1 "<stdin>"
>> > # 1 "<built-in>" 1
>> > # 1 "<built-in>" 3
>> > # 366 "<built-in>" 3
>> > # 1 "<command line>" 1
>> > # 1 "<built-in>" 2
>> > # 1 "<stdin>" 2
>> >
>> > We can obviously see that the
>XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include is not include the
>stdio.h, so that, preview build
>> > error is stdio.h not found.
>> >
>> > And there is another thing that puzzles me. The
>EmulatorPkg/Unix/Host/Host.h define some name mangle, and include
>stdio.h(this file
>> > include endian.h), That will cause the macro definition to be redefined.
>> > This thing made me spend a lot of energy.Is there are anyone can solve
>my confusion.
>> > Thanks,
>> > ChasonTang
>> > _______________________________________________
>> > 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-01-17  3:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-15  2:35 EmulatorPkg build issue with macOS mojave and Xcode 10 唐佳诚
  -- strict thread matches above, loose matches on Subject: below --
2019-01-15  2:56 唐佳诚
2019-01-15 16:10 ` Gao, Liming
2019-01-16 15:33   ` Gao, Liming
2019-01-17  3:25     ` 唐佳诚
2019-01-17  3:44       ` 唐佳诚
2019-01-17  3:49         ` Gao, Liming
2019-01-14  7:47 唐佳诚

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox