From 081eba10428dba04fda27bc753e8eb8c12405b8f Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Mon, 2 Mar 2026 14:50:57 +0100 Subject: [PATCH 1/6] Fix -WFormat warning in test Signed-off-by: Jan Hanca --- package-system/sdformat/test/test_sdformat.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package-system/sdformat/test/test_sdformat.cpp b/package-system/sdformat/test/test_sdformat.cpp index ea76f782..87b6d0ee 100644 --- a/package-system/sdformat/test/test_sdformat.cpp +++ b/package-system/sdformat/test/test_sdformat.cpp @@ -21,13 +21,14 @@ int main(int argc, char** argv) } std::string_view sdfVersionFull = argv[1]; - printf(R"(Validating SDF version "%.*s": )", sdfVersionFull.size(), sdfVersionFull.data()); + int sdfVersionFullLength = static_cast(sdfVersionFull.size()); + printf(R"(Validating SDF version "%.*s": )", sdfVersionFullLength, sdfVersionFull.data()); if (sdfVersionFull != SDF_VERSION_FULL) { printf("Failure\n" R"(SDformat SDF_VERSION_FULL returned a version of "%s". Expecting "%.*s".)" "\n", - SDF_VERSION_FULL, sdfVersionFull.size(), sdfVersionFull.data()); + SDF_VERSION_FULL, sdfVersionFullLength, sdfVersionFull.data()); return 1; } else From 33204e890856349cbec3ae9b476912dd07c9c4b3 Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Mon, 2 Mar 2026 14:51:30 +0100 Subject: [PATCH 2/6] Chmod +x on a script Signed-off-by: Jan Hanca --- package-system/sdformat/build-ubuntu.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 package-system/sdformat/build-ubuntu.sh diff --git a/package-system/sdformat/build-ubuntu.sh b/package-system/sdformat/build-ubuntu.sh old mode 100644 new mode 100755 From efc3d93a1b74bad4cf16f0d18f026172208329f6 Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Mon, 2 Mar 2026 15:47:50 +0100 Subject: [PATCH 3/6] Bump libsdformat 13.5.0->16.0.1 Signed-off-by: Jan Hanca --- package-system/sdformat/Dockerfile | 19 ++++----- .../sdformat/Findsdformat.cmake.template | 32 +++++++-------- package-system/sdformat/build-linux.sh | 8 ++-- package-system/sdformat/build_config.json | 40 +++++++++---------- .../sdformat/docker_build_sdformat.sh | 18 ++++----- package-system/sdformat/fortify.patch | 25 +++++++----- package-system/sdformat/test-linux.sh | 2 +- package_build_list_host_linux.json | 8 ++-- 8 files changed, 78 insertions(+), 74 deletions(-) diff --git a/package-system/sdformat/Dockerfile b/package-system/sdformat/Dockerfile index ba2a808a..4d3412dc 100644 --- a/package-system/sdformat/Dockerfile +++ b/package-system/sdformat/Dockerfile @@ -17,7 +17,7 @@ ARG INPUT_ARCHITECTURE=amd64 # The root to base the docker script base from -ARG INPUT_IMAGE=ubuntu:20.04 +ARG INPUT_IMAGE=ubuntu:22.04 FROM ${INPUT_ARCHITECTURE}/${INPUT_IMAGE} @@ -31,13 +31,13 @@ ARG INPUT_DOCKER_BUILD_SCRIPT=docker_build_sdformat.sh ARG INPUT_DEPENDENT_PACKAGE_FOLDERS # Set the github tag for gz-cmake -ARG INPUT_DEP_GZ_CMAKE_GIT_TAG=gz-cmake3_3.3.0 -ARG INPUT_DEP_TINYXML2_GIT_TAG=9.0.0 -# Pinning to the gz-math7 release which libsdformat has a dependency on -ARG INPUT_DEP_GZ_MATH_GIT_TAG=gz-math7_7.2.0 -# Pinning to the gz-utils2 to the last release in September 2022 -# The libsdformat has an explicit dependency on gz-utils2 -ARG INPUT_DEP_GZ_UTILS_GIT_TAG=gz-utils2_2.0.0 +ARG INPUT_DEP_GZ_CMAKE_GIT_TAG=gz-cmake5_5.0.2 +ARG INPUT_DEP_TINYXML2_GIT_TAG=11.0.0 +# Pinning to the gz-math9 release which libsdformat has a dependency on +ARG INPUT_DEP_GZ_MATH_GIT_TAG=gz-math9_9.0.0 +# Pinning to the gz-utils4 to the last release in September 2022 +# The libsdformat has an explicit dependency on gz-utils4 +ARG INPUT_DEP_GZ_UTILS_GIT_TAG=gz-utils4_4.0.0 # Get access to the user ID and group ID of the user running the docker @@ -77,7 +77,8 @@ RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard- RUN apt-get install -y build-essential \ cmake \ git \ - ruby + ruby \ + python3 # Add a user called "user" that will be used inside the docker diff --git a/package-system/sdformat/Findsdformat.cmake.template b/package-system/sdformat/Findsdformat.cmake.template index 4aee987e..ad67be9b 100644 --- a/package-system/sdformat/Findsdformat.cmake.template +++ b/package-system/sdformat/Findsdformat.cmake.template @@ -7,8 +7,8 @@ # set(LIB_NAME "sdformat") -set(LIB_VERSION_FULL 13.5.0) -set(LIB_VERSION_MAJOR 13) +set(LIB_VERSION_FULL 16.0.1) +set(LIB_VERSION_MAJOR 16) set(SDFORMAT_O3DE_NAMESPACE "3rdParty::$${LIB_NAME}") if (TARGET $${SDFORMAT_O3DE_NAMESPACE}) @@ -27,7 +27,7 @@ set($${LIB_NAME}_INCLUDE_DIR_ROOT $${CMAKE_CURRENT_LIST_DIR}/$${LIB_NAME}/includ set($${LIB_NAME}_INCLUDE_DIRECTORIES $${$${LIB_NAME}_INCLUDE_DIR_ROOT} $${$${LIB_NAME}_INCLUDE_DIR_ROOT}/gz/$${LIB_NAME}$${LIB_VERSION_MAJOR}) set($${LIB_NAME}_LIBS_DIR $${CMAKE_CURRENT_LIST_DIR}/$${LIB_NAME}/lib) -set($${LIB_NAME}_LIBRARY_RELEASE $${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${LIB_VERSION_MAJOR}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${LIB_VERSION_FULL}) +set($${LIB_NAME}_LIBRARY_RELEASE $${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${LIB_VERSION_FULL}) # The path to the dbg symbol file set($${LIB_NAME}_LIBRARY_RELEASE_DBG "$${$${LIB_NAME}_LIBRARY_RELEASE}.dbg") @@ -51,8 +51,8 @@ set_target_properties($${SDFORMAT_O3DE_NAMESPACE} PROPERTIES if (COMMAND ly_add_target_files) ly_add_target_files(TARGETS $${SDFORMAT_O3DE_NAMESPACE} FILES - "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${LIB_VERSION_MAJOR}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${LIB_VERSION_MAJOR}" - "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${LIB_VERSION_MAJOR}$${CMAKE_SHARED_LIBRARY_SUFFIX}" + "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${LIB_VERSION_MAJOR}" + "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${LIB_NAME}$${CMAKE_SHARED_LIBRARY_SUFFIX}" # Copy the debug symbol .dbg into the binary directory as well "$${$${LIB_NAME}_LIBRARY_RELEASE_DBG}" ) @@ -82,10 +82,10 @@ set_target_properties($${tinyxml2_target_namespace} PROPERTIES IMPORTED_LOCATION $${tinyxml2_lib_release}) # Add the gz-utils dependency -set(gz_utils_raw_name "utils2") -set(gz_utils_version_full "2.0.0") -set(gz_utils_version_major "2") -set(gz_utils_libname "gz-$${gz_utils_raw_name}") +set(gz_utils_raw_name "utils4") +set(gz_utils_version_full "4.0.0") +set(gz_utils_version_major "4") +set(gz_utils_libname "gz-utils") set(gz_utils_include_directories "$${$${LIB_NAME}_INCLUDE_DIR_ROOT}/gz/$${gz_utils_raw_name}") # gz-utils is built as a SHARED library set(gz_utils_lib_release "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${gz_utils_libname}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${gz_utils_version_full}") @@ -104,7 +104,7 @@ else() INTERFACE $${gz_utils_include_directories}) endif() -# Associate the libgz-utils2.so file with the library location +# Associate the libgz-utils4.so file with the library location set_target_properties($${gz_utils_target_namespace} PROPERTIES IMPORTED_LOCATION $${gz_utils_lib_release}) @@ -118,10 +118,10 @@ if (COMMAND ly_add_target_files) endif() # Add the gz-math dependency -set(gz_math_raw_name "math7") -set(gz_math_version_full "7.2.0") -set(gz_math_version_major "7") -set(gz_math_libname "gz-$${gz_math_raw_name}") +set(gz_math_raw_name "math9") +set(gz_math_version_full "9.0.0") +set(gz_math_version_major "9") +set(gz_math_libname "gz-math") set(gz_math_include_directories "$${$${LIB_NAME}_INCLUDE_DIR_ROOT}/gz/$${gz_math_raw_name}") # gz-math is built as a SHARED library set(gz_math_lib_release "$${$${LIB_NAME}_LIBS_DIR}/$${CMAKE_SHARED_LIBRARY_PREFIX}$${gz_math_libname}$${CMAKE_SHARED_LIBRARY_SUFFIX}.$${gz_math_version_full}") @@ -140,7 +140,7 @@ else() INTERFACE $${gz_math_include_directories}) endif() -# Associate the libgz-math2.so file with the library location +# Associate the libgz-math9.so file with the library location set_target_properties($${gz_math_target_namespace} PROPERTIES IMPORTED_LOCATION $${gz_math_lib_release}) @@ -156,7 +156,7 @@ endif() # Add the dependent libraries as target_link_libraries target_link_libraries($${SDFORMAT_O3DE_NAMESPACE} INTERFACE - $${tinyxml_target_namespace} + $${tinyxml2_target_namespace} $${gz_utils_target_namespace} $${gz_math_target_namespace}) diff --git a/package-system/sdformat/build-linux.sh b/package-system/sdformat/build-linux.sh index c4c8461d..1e9dd84a 100755 --- a/package-system/sdformat/build-linux.sh +++ b/package-system/sdformat/build-linux.sh @@ -24,11 +24,11 @@ CURRENT_HOST_ARCH=$(uname -m) TARGET_ARCH=${1:-$(uname -m)} # Get the base docker image name -DOCKER_IMAGE_NAME_BASE=${2:-sdformat13} +DOCKER_IMAGE_NAME_BASE=${2:-sdformat16} -# Get the ubuntu base version (20.04|22.04) -# Default to Ubuntu 20.04 -UBUNTU_BASE=${3:-20.04} +# Get the ubuntu base version (22.04 or 24.04) +# Default to Ubuntu 22.04 +UBUNTU_BASE=${3:-22.04} echo "Executing docker-based build from the following arguments" echo " DOCKER_IMAGE_NAME_BASE=${DOCKER_IMAGE_NAME_BASE}" diff --git a/package-system/sdformat/build_config.json b/package-system/sdformat/build_config.json index a05a501b..f3f943e3 100644 --- a/package-system/sdformat/build_config.json +++ b/package-system/sdformat/build_config.json @@ -1,45 +1,45 @@ { - "git_url":"https://github.com/gazebosim/sdformat.git", - "git_tag":"sdformat13_13.5.0", - "package_name":"sdformat", - "package_version":"13.5.0-rev2", - "package_url":"https://github.com/gazebosim/sdformat.git", - "package_license":"Apache-2.0", - "package_license_file":"LICENSE", + "git_url": "https://github.com/gazebosim/sdformat.git", + "git_tag": "sdformat16_16.0.1", + "package_name": "sdformat", + "package_version": "16.0.1-rev1", + "package_url": "https://github.com/gazebosim/sdformat.git", + "package_license": "Apache-2.0", + "package_license_file": "LICENSE", "patch_file": "fortify.patch", - "cmake_find_target":"Findsdformat.cmake", - "Platforms":{ - "Linux":{ - "Linux":{ - "cmake_find_template":"Findsdformat.cmake.template", + "cmake_find_target": "Findsdformat.cmake", + "Platforms": { + "Linux": { + "Linux": { + "cmake_find_template": "Findsdformat.cmake.template", "custom_build_cmd": [ "./build-host-os.sh", "x86_64", - "sdformat13", - "20.04" + "sdformat16", + "22.04" ], "custom_install_cmd": [ "./install-linux.sh", "install" ], - "custom_test_cmd" : [ + "custom_test_cmd": [ "./test-linux.sh", "x86_64" ] }, - "Linux-aarch64":{ - "cmake_find_template":"Findsdformat.cmake.template", + "Linux-aarch64": { + "cmake_find_template": "Findsdformat.cmake.template", "custom_build_cmd": [ "./build-host-os.sh", "aarch64", - "sdformat13", - "20.04" + "sdformat16", + "22.04" ], "custom_install_cmd": [ "./install-linux.sh", "install" ], - "custom_test_cmd" : [ + "custom_test_cmd": [ "./test-linux.sh", "aarch64" ] diff --git a/package-system/sdformat/docker_build_sdformat.sh b/package-system/sdformat/docker_build_sdformat.sh index 10ebd268..d043eed7 100755 --- a/package-system/sdformat/docker_build_sdformat.sh +++ b/package-system/sdformat/docker_build_sdformat.sh @@ -115,7 +115,7 @@ DEP_INSTALL_PATHS+=( $GZ_UTILS_INSTALL_FOLDER ) pushd $GZ_UTILS_SRC_FOLDER echo "Configuring $DEP_NAME" -CMD=(cmake -B ${GZ_UTILS_BUILD_FOLDER} -S. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${GZ_UTILS_INSTALL_FOLDER} -DBUILD_TESTING=OFF) +CMD=(cmake -B ${GZ_UTILS_BUILD_FOLDER} -S. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${GZ_UTILS_INSTALL_FOLDER} -DBUILD_TESTING=OFF -DGZ_UTILS_VENDOR_CLI11=ON -DSKIP_log=ON) CMD+=(-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE -DCMAKE_INSTALL_RPATH=\$ORIGIN) echo "${CMD[@]}" "${CMD[@]}" @@ -149,7 +149,7 @@ DEP_INSTALL_PATHS+=( $GZ_MATH_INSTALL_FOLDER ) pushd $GZ_MATH_SRC_FOLDER echo "Configuring $DEP_NAME" -CMD=(cmake -B ${GZ_MATH_BUILD_FOLDER} -S. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${GZ_MATH_INSTALL_FOLDER} -DSKIP_SWIG=ON -DSKIP_PYBIND11=ON -DBUILD_TESTING=OFF) +CMD=(cmake -B ${GZ_MATH_BUILD_FOLDER} -S. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${GZ_MATH_INSTALL_FOLDER} -DSKIP_SWIG=ON -DSKIP_PYBIND11=ON -DBUILD_TESTING=OFF -DSKIP_eigen3=ON) CMD+=(-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE -DCMAKE_INSTALL_RPATH=\$ORIGIN) echo "${CMD[@]}" "${CMD[@]}" @@ -190,7 +190,7 @@ fi # instead of relying on an externally-installed package. # This keeps the dependencies self-contained. echo "Configuring ${LIB_NAME}" -CMD=(cmake -B ${BUILD_FOLDER} -S. -DUSE_INTERNAL_URDF=ON -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${INSTALL_FOLDER} -DCMAKE_PREFIX_PATH=\"${CMAKE_PREFIX_PATH}\") +CMD=(cmake -B ${BUILD_FOLDER} -S. -DUSE_INTERNAL_URDF=ON -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${INSTALL_FOLDER} -DCMAKE_PREFIX_PATH=\"${CMAKE_PREFIX_PATH}\" -DSKIP_PYBIND11=ON) # Update the RPATH to $ORIGIN to allow sdformat library to find the dependent libgz-utils/gz-math.so files on Linux CMD+=(-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE -DCMAKE_INSTALL_RPATH=\$ORIGIN) echo "${CMD[@]}" @@ -219,8 +219,8 @@ popd # Finally detach the debug symbols to a separate dbg file for sdformat echo "Detaching debug symbols for ${LIB_NAME}" -SDFORMAT_VERSION=13.5.0 -LIB_FILENAME="lib${LIB_NAME}13.so.${SDFORMAT_VERSION}" +SDFORMAT_VERSION=16.0.1 +LIB_FILENAME="lib${LIB_NAME}.so.${SDFORMAT_VERSION}" LIB_DIRECTORY="${INSTALL_FOLDER}/lib" LIB_PATH="${LIB_DIRECTORY}/${LIB_FILENAME}" CMD="objcopy --only-keep-debug ${LIB_PATH} ${LIB_PATH}.dbg" @@ -255,9 +255,9 @@ fi popd # Detach the debug symbols to a separate dbg file for gz-math -DEP_NAME=gz-math7 +DEP_NAME=gz-math echo "Detaching debug symbols for ${DEP_NAME}" -GZ_MATH_VERSION=7.2.0 +GZ_MATH_VERSION=9.0.0 LIB_FILENAME="lib${DEP_NAME}.so.${GZ_MATH_VERSION}" LIB_DIRECTORY="${GZ_MATH_INSTALL_FOLDER}/lib" LIB_PATH="${LIB_DIRECTORY}/${LIB_FILENAME}" @@ -293,9 +293,9 @@ fi popd # Detach the debug symbols to a separate dbg file for gz-utils -DEP_NAME=gz-utils2 +DEP_NAME=gz-utils echo "Detaching debug symbols for ${DEP_NAME}" -GZ_UTILS_VERSION=2.0.0 +GZ_UTILS_VERSION=4.0.0 LIB_FILENAME="lib${DEP_NAME}.so.${GZ_UTILS_VERSION}" LIB_DIRECTORY="${GZ_UTILS_INSTALL_FOLDER}/lib" LIB_PATH="${LIB_DIRECTORY}/${LIB_FILENAME}" diff --git a/package-system/sdformat/fortify.patch b/package-system/sdformat/fortify.patch index cc981bed..c92f4774 100644 --- a/package-system/sdformat/fortify.patch +++ b/package-system/sdformat/fortify.patch @@ -1,39 +1,42 @@ diff --git a/src/Camera.cc b/src/Camera.cc -index c41850a0..4f9a199b 100644 +index 3d7cd39c..8d33e1d6 100644 --- a/src/Camera.cc +++ b/src/Camera.cc -@@ -1144,7 +1144,7 @@ void Camera::SetLensIntrinsicsSkew(double _s) +@@ -1123,9 +1123,9 @@ void Camera::SetLensIntrinsicsSkew(double _s) ///////////////////////////////////////////////// std::string Camera::ConvertPixelFormat(PixelFormatType _type) { - unsigned int index = static_cast(_type); + unsigned int index = static_cast(_type); if (index < kPixelFormatNames.size()) - return kPixelFormatNames[static_cast(_type)]; +- return std::string(kPixelFormatNames[static_cast(_type)]); ++ return std::string(kPixelFormatNames[index]); + return std::string(kPixelFormatNames[0]); + } diff --git a/src/ParticleEmitter.cc b/src/ParticleEmitter.cc -index 347df7f4..e10624c7 100644 +index b0d07a20..dbb21788 100644 --- a/src/ParticleEmitter.cc +++ b/src/ParticleEmitter.cc -@@ -265,7 +265,7 @@ bool ParticleEmitter::SetType(const std::string &_typeStr) +@@ -267,7 +267,7 @@ bool ParticleEmitter::SetType(const std::string &_typeStr) ///////////////////////////////////////////////// std::string ParticleEmitter::TypeStr() const { - size_t index = static_cast(this->dataPtr->type); + size_t index = static_cast(this->dataPtr->type); - if (index < emitterTypeStrs.size()) - return emitterTypeStrs[index]; + if (index < kEmitterTypeStrs.size()) + return std::string(kEmitterTypeStrs[index]); return "point"; diff --git a/src/Sensor.cc b/src/Sensor.cc -index 6c6dde9d..324a3422 100644 +index 8f3b1205..86d708e4 100644 --- a/src/Sensor.cc +++ b/src/Sensor.cc -@@ -644,7 +644,7 @@ void Sensor::SetUpdateRate(double _hz) +@@ -663,7 +663,7 @@ void Sensor::SetUpdateRate(double _hz) ///////////////////////////////////////////////// std::string Sensor::TypeStr() const { - size_t index = static_cast(this->dataPtr->type); + size_t index = static_cast(this->dataPtr->type); - if (index > 0 && index < sensorTypeStrs.size()) - return sensorTypeStrs[index]; + if (index > 0 && index < kSensorTypeStrs.size()) + return std::string(kSensorTypeStrs[index]); return "none"; diff --git a/package-system/sdformat/test-linux.sh b/package-system/sdformat/test-linux.sh index d47f3be5..7d795d6e 100755 --- a/package-system/sdformat/test-linux.sh +++ b/package-system/sdformat/test-linux.sh @@ -9,7 +9,7 @@ # The expected SDF Version -EXPECTED_SDF_VERSION="13.5.0" +EXPECTED_SDF_VERSION="16.0.1" # Reset any existing test folder rm -rf temp/build_test diff --git a/package_build_list_host_linux.json b/package_build_list_host_linux.json index e2d189ae..81526744 100644 --- a/package_build_list_host_linux.json +++ b/package_build_list_host_linux.json @@ -32,8 +32,8 @@ "PhysX-5.1.1-rev4-linux": "package-system/PhysX5/build_package_image.py --package-name PhysX-5.1.1 --package-rev rev4 --platform-name linux", "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth/build_package_image.py --platform-name linux", "poly2tri-7f0487a-rev1-linux": "package-system/poly2tri/build_package_image.py --platform-name linux", - "sdformat-13.5.0-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/sdformat --platform-name Linux --clean", - "sdformat-13.5.0-rev2-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/sdformat --platform-name Linux-aarch64 --clean", + "sdformat-16.0.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/sdformat --platform-name Linux --clean", + "sdformat-16.0.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/sdformat --platform-name Linux-aarch64 --clean", "SPIRVCross-1.3.275.0-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/SPIRVCross --platform-name Linux --package-root ../../package-system --clean", "SQLite-3.37.2-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/sqlite --platform-name Linux --package-root ../../package-system --clean", "squish-ccr-deb557d-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/squish-ccr --platform-name Linux --clean", @@ -77,8 +77,8 @@ "openimageio-opencolorio-2.3.17-rev2-linux": "package-system/openimageio-opencolorio/temp/package-linux", "OpenSSL-1.1.1t-rev1-linux": "package-system/OpenSSL/temp/OpenSSL-linux", "OpenSSL-1.1.1t-rev1-linux-aarch64": "package-system/OpenSSL/temp/OpenSSL-linux-aarch64", - "sdformat-13.5.0-rev2-linux": "package-system/sdformat/temp/sdformat-linux", - "sdformat-13.5.0-rev2-linux-aarch64": "package-system/sdformat/temp/sdformat-linux-aarch64", + "sdformat-16.0.1-rev1-linux": "package-system/sdformat/temp/sdformat-linux", + "sdformat-16.0.1-rev1-linux-aarch64": "package-system/sdformat/temp/sdformat-linux-aarch64", "SPIRVCross-1.3.275.0-rev1-linux": "package-system/SPIRVCross-linux", "squish-ccr-deb557d-rev1-linux": "package-system/squish-ccr/temp/squish-ccr-linux", "squish-ccr-deb557d-rev1-linux-aarch64": "package-system/squish-ccr/temp/squish-ccr-linux-aarch64", From b15e1427bd3bf2759d95a6eb55d5ac07127b12fe Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Tue, 3 Mar 2026 09:56:04 +0100 Subject: [PATCH 4/6] Fix README typo Signed-off-by: Jan Hanca --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71662033..edaa4d3c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 3p-package-source repo -This is where the "sources" (ie, build scripts which make packages) for the O3DE package system are located. +This is where the "sources" (i.e., build scripts which make packages) for the O3DE package system are located. Note that the "sources" of most packages are not actually stored here, most "package sources" actually just consist of a script which fetches the source code (or prebuilt packages) from somewhere else, constructs a temporary folder image for it, and then lets the package system pack that folder up as the package. From e8757d4aa84da56991a98854162bd3f226b9807a Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Tue, 3 Mar 2026 11:52:12 +0100 Subject: [PATCH 5/6] Fix arm64 build Signed-off-by: Jan Hanca --- package-system/sdformat/Dockerfile | 5 +---- package-system/sdformat/build-linux.sh | 7 +++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/package-system/sdformat/Dockerfile b/package-system/sdformat/Dockerfile index 4d3412dc..d3f30d38 100644 --- a/package-system/sdformat/Dockerfile +++ b/package-system/sdformat/Dockerfile @@ -13,13 +13,10 @@ # Therefore it is better to not declare ARG instructions that are not used as part for the FROM instruction # until after it # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact -# The cpu architecture to base the docker base script from -ARG INPUT_ARCHITECTURE=amd64 - # The root to base the docker script base from ARG INPUT_IMAGE=ubuntu:22.04 -FROM ${INPUT_ARCHITECTURE}/${INPUT_IMAGE} +FROM ${INPUT_IMAGE} # NOTE: Now it is safe to declare ARG instructions that are used in the build stage # of the image diff --git a/package-system/sdformat/build-linux.sh b/package-system/sdformat/build-linux.sh index 1e9dd84a..ea8a157d 100755 --- a/package-system/sdformat/build-linux.sh +++ b/package-system/sdformat/build-linux.sh @@ -91,8 +91,8 @@ elif [ "${TARGET_ARCH}" = "aarch64" ] then echo "Processing Docker for aarch64" - DOCKER_INPUT_ARCHITECTURE=arm64v8 - TARGET_DOCKER_PLATFORM_ARG=linux/arm64/v8 + DOCKER_INPUT_ARCHITECTURE=arm64 + TARGET_DOCKER_PLATFORM_ARG=linux/arm64 else echo "Unsupported architecture ${TARGET_ARCH}" @@ -113,8 +113,7 @@ echo DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME} echo -e "Building the docker build script for ${DOCKER_IMAGE_NAME_BASE} on ${DOCKER_INPUT_ARCHITECTURE} for Ubuntu $1\n" CMD_DOCKER_BUILD="\ -docker build --build-arg INPUT_DOCKER_BUILD_SCRIPT=${DOCKER_BUILD_SCRIPT}\ - --build-arg INPUT_ARCHITECTURE=${DOCKER_INPUT_ARCHITECTURE}\ +docker build --platform ${TARGET_DOCKER_PLATFORM_ARG} --build-arg INPUT_DOCKER_BUILD_SCRIPT=${DOCKER_BUILD_SCRIPT}\ --build-arg INPUT_IMAGE=ubuntu:${UBUNTU_BASE}\ --build-arg INPUT_DEPENDENT_PACKAGE_FOLDERS=${DOWNLOADED_PACKAGE_FOLDERS}\ --build-arg USER_ID=$(id -u)\ From 99dfde31b654e2fd45463760e6a0e0de851a026e Mon Sep 17 00:00:00 2001 From: Jan Hanca Date: Mon, 16 Mar 2026 12:48:58 +0100 Subject: [PATCH 6/6] Fix incorrect compilers versions Signed-off-by: Jan Hanca --- .github/workflows/build-package.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-package.yaml b/.github/workflows/build-package.yaml index e8c2f057..5b50d370 100644 --- a/.github/workflows/build-package.yaml +++ b/.github/workflows/build-package.yaml @@ -261,10 +261,10 @@ jobs: - name: Install clang/gcc if: runner.os == 'Linux' env: - CLANG_VER: 12 - GCC_VER: 9 + CLANG_VER: 14 + GCC_VER: 11 run: | - sudo apt-get install -y clang-${{ env.CLANG_VER }} gcc-${{ env.GCC_VER }} g++-${{ env.GCC_VER }} + sudo apt-get install -y clang-${{ env.CLANG_VER }} clang++-${{ env.CLANG_VER }} gcc-${{ env.GCC_VER }} g++-${{ env.GCC_VER }} sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 10 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ env.CLANG_VER }} 10 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 10