Coder Social home page Coder Social logo

xaionaro / edk2-builder-docker Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 67 KB

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

Dockerfile 23.90% Makefile 2.45% Shell 73.64%
edk2 edkii docker build builder tianocore container make compile

edk2-builder-docker's People

Contributors

startergo avatar xaionaro avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

startergo

edk2-builder-docker's Issues

RefindPlusPkg build fails

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

RefindPlus debug build fails

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

Changing build target

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]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.