mirror of
https://git.yoctoproject.org/poky
synced 2026-03-17 04:39:40 +01:00
sanity: Add sanity test for 'bad' gcc installs on ubuntu 24.04
Installing emacs on Ubuntu 24.04 pulls in emacs-gtk which leads to libgcc-14-dev despite gcc being 13. This breaks libcxx-native and compiler-rt-native builds. We've tried various ways of addressing this buit they don't work. Instead, detect this situation and tell the user to either install or remove a package. (From OE-Core rev: 087b2730bb2446ad5ea98c233e349d2787c17ff1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -672,6 +672,8 @@ def check_sanity_sstate_dir_change(sstate_dir, data):
|
||||
return testmsg
|
||||
|
||||
def check_sanity_version_change(status, d):
|
||||
import glob
|
||||
|
||||
# Sanity checks to be done when SANITY_VERSION or NATIVELSBSTRING changes
|
||||
# In other words, these tests run once in a given build directory and then
|
||||
# never again until the sanity version or host distribution id/version changes.
|
||||
@@ -703,6 +705,11 @@ def check_sanity_version_change(status, d):
|
||||
if not check_app_exists('g++', d):
|
||||
missing = missing + "C++ Compiler (g++),"
|
||||
|
||||
# installing emacs on Ubuntu 24.04 pulls in emacs-gtk -> libgcc-14-dev despite gcc being 13
|
||||
# this breaks libcxx-native and compiler-rt-native builds so tell the user to fix things
|
||||
if glob.glob("/usr/lib/gcc/*/14/libgcc_s.so") and not glob.glob("/usr/lib/gcc/*/14/libstdc++.so"):
|
||||
status.addresult('libgcc-14-dev is installed and not libstdc++-14-dev which will break clang native compiles. Please remove one or install the other.')
|
||||
|
||||
required_utilities = d.getVar('SANITY_REQUIRED_UTILITIES')
|
||||
|
||||
for util in required_utilities.split():
|
||||
|
||||
Reference in New Issue
Block a user