BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3156
This commit re-enables the EmulatorPkg IA32 GCC5 CI builds with fixing library dependencies. The IA32 GCC5 CI builds are broken as the CI runner environment has changed. According to commit 612edbe6cd71f4392b681b75849b2ab6e48f592d, which temporary disabled the CI builds, they are not working due to a failure to install the i386 library dependencies in Ubuntu 18.04. As previously commented in the Github Actions issue[1], the missing gcc multi-architecture libraries prevent from successful build. This commit fixes this issue by adding the missing library with version specified. [1] https://github.com/actions/virtual-environments/issues/2324#issuecomment-749985726 Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Bret Barkelew <bret.barke...@microsoft.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Yuwei Chen <yuwei.c...@intel.com> Cc: Andrew Fish <af...@apple.com> Cc: Ray Ni <ray...@intel.com> Signed-off-by: Akira Moroo <retrag...@gmail.com> --- .../.azurepipelines/Ubuntu-GCC5.yml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index 416c15e708..587976d815 100644 --- a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -47,6 +47,27 @@ jobs: Build.Target: "NOOPT" Run.Flags: $(run_flags) Run: $(should_run) + EmulatorPkg_IA32_DEBUG: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "" + Build.Target: "DEBUG" + Run.Flags: $(run_flags) + Run: $(should_run) + EmulatorPkg_IA32_RELEASE: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "" + Build.Target: "RELEASE" + Run.Flags: $(run_flags) + Run: $(should_run) + EmulatorPkg_IA32_NOOPT: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "" + Build.Target: "NOOPT" + Run.Flags: $(run_flags) + Run: $(should_run) EmulatorPkg_X64_FULL_DEBUG: Build.File: "$(package)/PlatformCI/PlatformBuild.py" Build.Arch: "X64" @@ -68,6 +89,27 @@ jobs: Build.Target: "NOOPT" Run.Flags: $(run_flags) Run: $(should_run) + EmulatorPkg_IA32_FULL_DEBUG: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE" + Build.Target: "DEBUG" + Run.Flags: $(run_flags) + Run: $(should_run) + EmulatorPkg_IA32_FULL_RELEASE: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE" + Build.Target: "RELEASE" + Run.Flags: $(run_flags) + Run: $(should_run) + EmulatorPkg_IA32_FULL_NOOPT: + Build.File: "$(package)/PlatformCI/PlatformBuild.py" + Build.Arch: "IA32" + Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE" + Build.Target: "NOOPT" + Run.Flags: $(run_flags) + Run: $(should_run) workspace: clean: all @@ -85,3 +127,14 @@ jobs: build_file: $(Build.File) build_flags: $(Build.Flags) run_flags: $(Run.Flags) + # Add steps to install some IA32 only dependencies + extra_install_step: + - bash: sudo dpkg --add-architecture i386 + displayName: Add i386 to dpkg + condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded()) + - bash: sudo apt-get update + displayName: do apt-get update + condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded()) + - bash: sudo apt-get install libc6-dev:i386 libx11-dev:i386 libxext-dev:i386 lib32gcc-9-dev gcc-9-multilib + displayName: Add additional i386 packages + condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded()) -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85282): https://edk2.groups.io/g/devel/message/85282 Mute This Topic: https://groups.io/mt/88211149/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-