xaionaro / edk2-builder-docker Goto Github PK
View Code? Open in Web Editor NEWDocker container to build EDK2-based projects. Supports all EDK2 releases out of the box. And has examples of usage.
License: Creative Commons Zero v1.0 Universal
Docker container to build EDK2-based projects. Supports all EDK2 releases out of the box. And has examples of usage.
License: Creative Commons Zero v1.0 Universal
Is this executed on every run of docker machine or only during build and push to Docker registry?
https://github.com/xaionaro/edk2-builder-docker/blob/main/Dockerfile#L70-L71
If the edk2 repo has any changes will the docker machine need to be pushed to registry or will it grab the latest edk2 repo on every run regardless?
https://github.com/xaionaro/edk2-builder-docker/blob/main/clone-edk2.sh#L8-L9
macmini@MacMinis-Mac-mini ~ % cd "`mktemp -d`"
macmini@MacMinis-Mac-mini tmp.GZCu5QsC % mkdir -m 1777 /tmp/RefindPlusPkg-build
mkdir: /tmp/RefindPlusPkg-build: File exists
macmini@MacMinis-Mac-mini tmp.GZCu5QsC % git clone --recursive https://github.com/dakanji/RefindPlus RefindPlusPkg
Cloning into 'RefindPlusPkg'...
remote: Enumerating objects: 12874, done.
remote: Counting objects: 100% (2743/2743), done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 12874 (delta 2633), reused 2533 (delta 2524), pack-reused 10131
Receiving objects: 100% (12874/12874), 12.80 MiB | 9.92 MiB/s, done.
Resolving deltas: 100% (9794/9794), done.
macmini@MacMinis-Mac-mini tmp.GZCu5QsC % docker pull xaionaro2/edk2-builder:RefindPlusUDK
RefindPlusUDK: Pulling from xaionaro2/edk2-builder
Digest: sha256:ad128cd1acd5680ebc4deaa1c00c8478803a48996e9fb582286e1b8a09b8a405
Status: Image is up to date for xaionaro2/edk2-builder:RefindPlusUDK
docker.io/xaionaro2/edk2-builder:RefindPlusUDK
macmini@MacMinis-Mac-mini tmp.GZCu5QsC % sed -e 's/void[*] lodepng_malloc/void* _dup_lodepng_malloc/' \
-e 's/void lodepng_free/void _dup_lodepng_free/' \
-i-orig RefindPlusPkg/libeg/lodepng_xtra.c
macmini@MacMinis-Mac-mini tmp.GZCu5QsC % docker run --rm \
-e CFLAGS=-Wno-error \
-e TOOLCHAIN=CLANG38 \
-e DSC_PATH=RefindPlusPkg/RefindPlusPkg-DBG.dsc \
-v "$PWD/RefindPlusPkg/:/home/edk2/edk2/RefindPlusPkg/" \
-v "/tmp/RefindPlusPkg-build:/home/edk2/Build" \
xaionaro2/edk2-builder:RefindPlusUDK
+ cd /home/edk2
+ '[' -Wno-error '!=' '' ']'
+ BUILD_CFLAGS+=($CFLAGS)
+ BUILD_CXXFLAGS+=($CFLAGS)
+ CC_FLAGS+=($CFLAGS)
+ export BUILD_CFLAGS
+ export BUILD_CXXFLAGS
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ DEFAULT_PACKAGES_PATH=/home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
+ '[' '' '!=' '' ']'
+ export PACKAGES_PATH=/home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
+ PACKAGES_PATH=/home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
+ cd /home/edk2/edk2
+ . edksetup.sh
++ SCRIPTNAME=edksetup.sh
++ RECONFIG=FALSE
++ I=0
++ '[' 0 -gt 0 ']'
++ '[' 0 -gt 0 ']'
++ SourceEnv
++ SetWorkspace
++ '[' -n /home/edk2 ']'
++ return 0
++ SetupEnv
++ '[' -n '' ']'
++ '[' -f /home/edk2/BaseTools/BuildEnv ']'
++ '[' -n /home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms ']'
++ PATH_LIST=/home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
++ PATH_LIST='/home/edk2 /home/edk2/src /home/edk2/edk2 /home/edk2/libc /home/edk2/platforms'
++ for DIR in $PATH_LIST
++ '[' -f /home/edk2/BaseTools/BuildEnv ']'
++ for DIR in $PATH_LIST
++ '[' -f /home/edk2/src/BaseTools/BuildEnv ']'
++ for DIR in $PATH_LIST
++ '[' -f /home/edk2/edk2/BaseTools/BuildEnv ']'
++ export EDK_TOOLS_PATH=/home/edk2/edk2/BaseTools
++ EDK_TOOLS_PATH=/home/edk2/edk2/BaseTools
++ . /home/edk2/edk2/BaseTools/BuildEnv
+++ ScriptMain
+++ SetWorkspace
+++ '[' -n /home/edk2 ']'
+++ return 0
+++ '[' -z /home/edk2 ']'
+++ RestorePreviousConfiguration
+++ '[' -z '' ']'
+++ export CONF_PATH=/home/edk2/Conf
+++ CONF_PATH=/home/edk2/Conf
+++ '[' '!' -d /home/edk2/Conf ']'
+++ '[' -n /home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms ']'
+++ PATH_LIST='/home/edk2 /home/edk2/src /home/edk2/edk2 /home/edk2/libc /home/edk2/platforms'
+++ for DIR in $PATH_LIST
+++ '[' -d /home/edk2/Conf ']'
+++ for DIR in $PATH_LIST
+++ '[' -d /home/edk2/src/Conf ']'
+++ for DIR in $PATH_LIST
+++ '[' -d /home/edk2/edk2/Conf ']'
+++ export CONF_PATH=/home/edk2/edk2/Conf
+++ CONF_PATH=/home/edk2/edk2/Conf
+++ break
+++ PREVIOUS_CONF_FILE=/home/edk2/edk2/Conf/BuildEnv.sh
+++ '[' -e /home/edk2/edk2/Conf/BuildEnv.sh ']'
+++ SetEdkToolsPath
+++ '[' -n /home/edk2/edk2/BaseTools ']'
+++ return 0
+++ '[' -z /home/edk2/edk2/BaseTools ']'
+++ AddEdkToolsToPath
+++ '[' -z /home/edk2/edk2/BaseTools ']'
++++ GetEdkToolsPathBinDirectory
+++++ GetBaseToolsBinSubDir
++++++ uname -sm
+++++ UNAME_DIRNAME='Linux x86_64'
+++++ UNAME_DIRNAME=Linux-x86_64
+++++ UNAME_DIRNAME=Linux-x86_64
+++++ echo Linux-x86_64
++++ BIN_SUB_DIR=Linux-x86_64
++++ '[' -e /home/edk2/edk2/BaseTools/BinWrappers/Linux-x86_64 ']'
++++ EDK_TOOLS_PATH_BIN=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64
++++ echo /home/edk2/edk2/BaseTools/Bin/Linux-x86_64
+++ EDK_TOOLS_PATH_BIN=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64
+++ AddDirToStartOfPath /home/edk2/edk2/BaseTools/BinWrappers/PosixLike
+++ DIRNAME=/home/edk2/edk2/BaseTools/BinWrappers/PosixLike
+++ PATH=/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ export PATH
+++ AddDirToStartOfPath /home/edk2/edk2/BaseTools/Bin/Linux-x86_64
+++ DIRNAME=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64
+++ PATH=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ export PATH
+++ '[' 0 -ne 0 ']'
+++ StoreCurrentConfiguration
+++ OUTPUT_FILE=/home/edk2/edk2/Conf/BuildEnv.sh
+++ echo '# Auto-generated by /home/edk2/edk2/BaseTools/BuildEnv'
+++ GenerateShellCodeToSetVariable WORKSPACE /home/edk2/edk2/Conf/BuildEnv.sh
+++ VARIABLE=WORKSPACE
+++ OUTPUT_FILE=/home/edk2/edk2/Conf/BuildEnv.sh
+++ VAR_VALUE='echo ${WORKSPACE}'
++++ eval echo '${WORKSPACE}'
+++++ echo /home/edk2
+++ VAR_VALUE=/home/edk2
+++ echo 'if [ -z "$WORKSPACE" ]'
+++ echo then
+++ echo ' export WORKSPACE=/home/edk2'
+++ echo fi
+++ GenerateShellCodeToSetVariable EDK_TOOLS_PATH /home/edk2/edk2/Conf/BuildEnv.sh
+++ VARIABLE=EDK_TOOLS_PATH
+++ OUTPUT_FILE=/home/edk2/edk2/Conf/BuildEnv.sh
+++ VAR_VALUE='echo ${EDK_TOOLS_PATH}'
++++ eval echo '${EDK_TOOLS_PATH}'
+++++ echo /home/edk2/edk2/BaseTools
+++ VAR_VALUE=/home/edk2/edk2/BaseTools
+++ echo 'if [ -z "$EDK_TOOLS_PATH" ]'
+++ echo then
+++ echo ' export EDK_TOOLS_PATH=/home/edk2/edk2/BaseTools'
+++ echo fi
+++ GenerateShellCodeToUpdatePath /home/edk2/edk2/Conf/BuildEnv.sh
+++ OUTPUT_FILE=/home/edk2/edk2/Conf/BuildEnv.sh
+++ echo 'if [ -e /home/edk2/edk2/BaseTools/Bin/Linux-x86_64 ]'
+++ echo then
+++ echo ' if [ ${PATH//home/edk2/edk2/BaseTools/Bin/Linux-x86_64/} == $PATH ]'
+++ echo ' then'
+++ echo ' export PATH=/home/edk2/edk2/BaseTools/Bin/Linux-x86_64:$PATH'
+++ echo ' fi'
+++ echo fi
WORKSPACE: /home/edk2
EDK_TOOLS_PATH: /home/edk2/edk2/BaseTools
CONF_PATH: /home/edk2/edk2/Conf
+++ echo WORKSPACE: /home/edk2
+++ echo EDK_TOOLS_PATH: /home/edk2/edk2/BaseTools
+++ echo CONF_PATH: /home/edk2/edk2/Conf
+++ CopyTemplateFiles
+++ CopySingleTemplateFile build_rule
+++ SRC_FILENAME=Conf/build_rule.template
+++ DST_FILENAME=/home/edk2/edk2/Conf/build_rule.txt
+++ '[' -e /home/edk2/edk2/Conf/build_rule.txt ']'
+++ '[' FALSE '!=' TRUE ']'
+++ return
+++ CopySingleTemplateFile tools_def
+++ SRC_FILENAME=Conf/tools_def.template
+++ DST_FILENAME=/home/edk2/edk2/Conf/tools_def.txt
+++ '[' -e /home/edk2/edk2/Conf/tools_def.txt ']'
+++ '[' FALSE '!=' TRUE ']'
+++ return
+++ CopySingleTemplateFile target
+++ SRC_FILENAME=Conf/target.template
+++ DST_FILENAME=/home/edk2/edk2/Conf/target.txt
+++ '[' -e /home/edk2/edk2/Conf/target.txt ']'
+++ '[' FALSE '!=' TRUE ']'
+++ return
++ break
++ unset SCRIPTNAME RECONFIG
++ return 0
+ find /home/edk2 -wholename '*/BaseTools/Source/C/*[mM]akefile' -exec sed -e s/-Werror//g -i '{}' +
+ find /home/edk2 -wholename '*/BaseTools/Source/C' -exec make -C '{}' ';'
make: Entering directory '/home/edk2/edk2/BaseTools/Source/C'
Attempting to detect HOST_ARCH from 'uname -m': x86_64
Detected HOST_ARCH of X64 using uname.
mkdir -p .
make -C Common
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/Common'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/Common'
make -C BrotliCompress
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/BrotliCompress'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/BrotliCompress'
make -C VfrCompile
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/VfrCompile'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/VfrCompile'
make -C GnuGenBootSector
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GnuGenBootSector'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GnuGenBootSector'
make -C BootSectImage
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/BootSectImage'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/BootSectImage'
make -C EfiLdrImage
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/EfiLdrImage'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/EfiLdrImage'
make -C EfiRom
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/EfiRom'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/EfiRom'
make -C GenFfs
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenFfs'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenFfs'
make -C GenFv
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenFv'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenFv'
make -C GenFw
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenFw'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenFw'
make -C GenPage
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenPage'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenPage'
make -C GenSec
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenSec'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenSec'
make -C GenCrc32
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenCrc32'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenCrc32'
make -C GenVtf
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/GenVtf'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/GenVtf'
make -C LzmaCompress
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/LzmaCompress'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/LzmaCompress'
make -C Split
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/Split'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/Split'
make -C TianoCompress
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/TianoCompress'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/TianoCompress'
make -C VolInfo
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/VolInfo'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/VolInfo'
make -C DevicePath
make[1]: Entering directory '/home/edk2/edk2/BaseTools/Source/C/DevicePath'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/edk2/edk2/BaseTools/Source/C/DevicePath'
Finished building BaseTools C Tools with HOST_ARCH=X64
make: Leaving directory '/home/edk2/edk2/BaseTools/Source/C'
+ '[' RefindPlusPkg/RefindPlusPkg-DBG.dsc '!=' '' ']'
+ IFS=:
+ read -ra PKG_PATHS
+ for PKG_PATH in "${PKG_PATHS[@]}"
+ '[' -f /home/edk2/RefindPlusPkg/RefindPlusPkg-DBG.dsc ']'
+ for PKG_PATH in "${PKG_PATHS[@]}"
+ '[' -f /home/edk2/src/RefindPlusPkg/RefindPlusPkg-DBG.dsc ']'
+ for PKG_PATH in "${PKG_PATHS[@]}"
+ '[' -f /home/edk2/edk2/RefindPlusPkg/RefindPlusPkg-DBG.dsc ']'
+ for PKG_PATH in "${PKG_PATHS[@]}"
+ '[' -f /home/edk2/libc/RefindPlusPkg/RefindPlusPkg-DBG.dsc ']'
+ for PKG_PATH in "${PKG_PATHS[@]}"
+ '[' -f /home/edk2/platforms/RefindPlusPkg/RefindPlusPkg-DBG.dsc ']'
+ '[' RefindPlusPkg/RefindPlusPkg-DBG.dsc = '' ']'
+ '[' RefindPlusPkg/RefindPlusPkg-DBG.dsc = '' ']'
+ '[' -Wno-error '!=' '' ']'
+ CC_FLAGS_SETTING=DEBUG_CLANG38_X64_CC_FLAGS
+ find /home/edk2 -name tools_def.txt
+ read -r TOOLS_DEF_PATH
+ append_cc_flags_to_tools_def /home/edk2/edk2/Conf/tools_def.txt
+ TOOLS_DEF_PATH=/home/edk2/edk2/Conf/tools_def.txt
+ shift
+ cp -v /home/edk2/edk2/Conf/tools_def.txt-orig /home/edk2/edk2/Conf/tools_def.txt
+ cp -v /home/edk2/edk2/Conf/tools_def.txt /home/edk2/edk2/Conf/tools_def.txt-orig
'/home/edk2/edk2/Conf/tools_def.txt' -> '/home/edk2/edk2/Conf/tools_def.txt-orig'
+ grep -E '^CLANG38_X64_CC_FLAGS[ \t=]' /home/edk2/edk2/Conf/tools_def.txt-orig
+ grep -E '^DEBUG_CLANG38_X64_CC_FLAGS[ \t=]' /home/edk2/edk2/Conf/tools_def.txt-orig
DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
+ sed -re 's/^(DEBUG_CLANG38_X64_CC_FLAGS[ \t=][^\r]*)/\1 -Wno-error/' -i /home/edk2/edk2/Conf/tools_def.txt
+ read -r TOOLS_DEF_PATH
+ append_cc_flags_to_tools_def /home/edk2/edk2/Conf/tools_def.txt
+ TOOLS_DEF_PATH=/home/edk2/edk2/Conf/tools_def.txt
+ shift
+ cp -v /home/edk2/edk2/Conf/tools_def.txt-orig /home/edk2/edk2/Conf/tools_def.txt
'/home/edk2/edk2/Conf/tools_def.txt-orig' -> '/home/edk2/edk2/Conf/tools_def.txt'
+ grep -E '^CLANG38_X64_CC_FLAGS[ \t=]' /home/edk2/edk2/Conf/tools_def.txt-orig
+ grep -E '^DEBUG_CLANG38_X64_CC_FLAGS[ \t=]' /home/edk2/edk2/Conf/tools_def.txt-orig
DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
+ sed -re 's/^(DEBUG_CLANG38_X64_CC_FLAGS[ \t=][^\r]*)/\1 -Wno-error/' -i /home/edk2/edk2/Conf/tools_def.txt
+ for DSC_PATH_ITEM in ${DSC_PATH[0]}
+ cp -v RefindPlusPkg/RefindPlusPkg-DBG.dsc-orig RefindPlusPkg/RefindPlusPkg-DBG.dsc
+ cp -v RefindPlusPkg/RefindPlusPkg-DBG.dsc RefindPlusPkg/RefindPlusPkg-DBG.dsc-orig
cp: cannot stat 'RefindPlusPkg/RefindPlusPkg-DBG.dsc': No such file or directory
+ echo -e '\n[BuildOptions.common]\nDEBUG_CLANG38_X64_CC_FLAGS = -Wno-error\n'
PATH:</home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin>
DSC_PATH:<RefindPlusPkg/RefindPlusPkg-DBG.dsc>
PACKAGES_PATH:</home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms>
+ echo 'PATH:</home/edk2/edk2/BaseTools/Bin/Linux-x86_64:/home/edk2/edk2/BaseTools/BinWrappers/PosixLike:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin>'
+ echo 'DSC_PATH:<RefindPlusPkg/RefindPlusPkg-DBG.dsc>'
+ echo 'PACKAGES_PATH:</home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms>'
+ gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ for DSC_PATH_ITEM in ${DSC_PATH[0]}
+ build -v -p RefindPlusPkg/RefindPlusPkg-DBG.dsc -a X64 -b DEBUG -t CLANG38
Build environment: Linux-5.15.49-linuxkit-x86_64-with-Ubuntu-22.04-jammy
Build start time: 14:48:51, Nov.16 2022
WORKSPACE = /home/edk2
PACKAGES_PATH = /home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
ECP_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EDK_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EFI_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH = /home/edk2/edk2/BaseTools
CONF_PATH = /home/edk2/edk2/Conf
Initialize build database started ...
Initialize table DataModel started ...
Initialize table DataModel ... DONE!
Initialize build database ... DONE!
build.py...
/home/edk2/edk2/RefindPlusPkg/RefindPlusPkg-DBG.dsc(...): error 5000: No SUPPORTED_ARCHITECTURES
- Failed -
Build end time: 14:48:52, Nov.16 2022
Build total time: 00:00:01
+ exit
Failing at:
/home/edk2/edk2/RefindPlusPkg/Library/MemLogLib/BootLog.c:384:13: error: function declared 'ms_abi' here was previously declared without calling convention
VOID EFIAPI DebugLog (
^
/home/edk2/edk2/RefindPlusPkg/BootMaster/global.h:574:6: note: previous declaration is here
VOID DebugLog (
^
1 error generated.
make: *** [GNUmakefile:5138: /home/edk2/Build/RefindPlus/DEBUG_CLANG38/X64/RefindPlusPkg/RefindPlus/OUTPUT/Library/MemLogLib/BootLog.obj] Error 1
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_CLANG38/X64/RefindPlusPkg/RefindPlus]
build.py...
: error F002: Failed to build module
/home/edk2/edk2/RefindPlusPkg/RefindPlus.inf [X64, CLANG38, DEBUG]
- Failed -
Build end time: 19:37:52, Dec.27 2022
Build total time: 00:00:23
It looks like changing VOID DebugLog
to extern VOID EFIAPI DebugLog
in global.h
should patch for now
How can I change the build target before docker RUN Interactively through -e
(export)?
I see the docker file has:
ENV BUILD_TARGET "DEBUG"
And I get an error:
+ build -v -p RefindPlus/RefindPlusPkg.dsc -a X64 -b DEBUG -t GCC5
Build environment: Linux-5.10.47-linuxkit-x86_64-with-Ubuntu-20.04-focal
Build start time: 14:56:49, Dec.01 2021
WORKSPACE = /home/edk2
PACKAGES_PATH = /home/edk2:/home/edk2/src:/home/edk2/edk2:/home/edk2/libc:/home/edk2/platforms
ECP_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EDK_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EFI_SOURCE = /home/edk2/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH = /home/edk2/edk2/BaseTools
CONF_PATH = /home/edk2/edk2/Conf
Initialize build database started ...
Initialize table DataModel started ...
Initialize table DataModel ... DONE!
Initialize build database ... DONE!
build.py...
: error 2000: Invalid parameter
Build target [DEBUG] is not supported by the platform. [Valid target: RELEASE]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.