diff --git a/Handbook/src/appendix/changelog.md b/Handbook/src/appendix/changelog.md index 3a4435ff..58c291a1 100644 --- a/Handbook/src/appendix/changelog.md +++ b/Handbook/src/appendix/changelog.md @@ -35,6 +35,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Changelog errata fixes. - Minor changelog formatting fixes. +## [Unreleased] + +This patch release resolves build issues affecting Unreal Engine `5.7` on Linux `Arm64` architecture. + +### Fixed + +- Fixed an issue in UE `5.7` projects where Linux `Arm64` builds were incorrectly linking against third-party libraries compiled with Epic Native/Cross Toolchain `v25` (shipped with UE `5.6`), instead of the required Toolchain `v26` binaries (shipped with UE `5.7`). + ## [2.7.1] - 2025-12-09 This patch release addresses a severe regression affecting UE `5.5` projects with specific settings. diff --git a/Source/ThirdParty/SGCommonThirdPartyLibs/SGCommonThirdPartyLibs.Build.cs b/Source/ThirdParty/SGCommonThirdPartyLibs/SGCommonThirdPartyLibs.Build.cs index 3279c537..43301c97 100644 --- a/Source/ThirdParty/SGCommonThirdPartyLibs/SGCommonThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGCommonThirdPartyLibs/SGCommonThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGCommonThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGConnectShmThirdPartyLibs/SGConnectShmThirdPartyLibs.Build.cs b/Source/ThirdParty/SGConnectShmThirdPartyLibs/SGConnectShmThirdPartyLibs.Build.cs index b1c83c6f..159a188b 100644 --- a/Source/ThirdParty/SGConnectShmThirdPartyLibs/SGConnectShmThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGConnectShmThirdPartyLibs/SGConnectShmThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGConnectShmThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGConnectThirdPartyLibs/SGConnectThirdPartyLibs.Build.cs b/Source/ThirdParty/SGConnectThirdPartyLibs/SGConnectThirdPartyLibs.Build.cs index 3ee34c83..6fda48d0 100644 --- a/Source/ThirdParty/SGConnectThirdPartyLibs/SGConnectThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGConnectThirdPartyLibs/SGConnectThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGConnectThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGCoreShmThirdPartyLibs/SGCoreShmThirdPartyLibs.Build.cs b/Source/ThirdParty/SGCoreShmThirdPartyLibs/SGCoreShmThirdPartyLibs.Build.cs index 53e55bbc..fb7bfc8d 100644 --- a/Source/ThirdParty/SGCoreShmThirdPartyLibs/SGCoreShmThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGCoreShmThirdPartyLibs/SGCoreShmThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGCoreShmThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGCoreThirdPartyLibs/SGCoreThirdPartyLibs.Build.cs b/Source/ThirdParty/SGCoreThirdPartyLibs/SGCoreThirdPartyLibs.Build.cs index bc418844..96a224c6 100644 --- a/Source/ThirdParty/SGCoreThirdPartyLibs/SGCoreThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGCoreThirdPartyLibs/SGCoreThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGCoreThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGFmtThirdPartyLibs/SGFmtThirdPartyLibs.Build.cs b/Source/ThirdParty/SGFmtThirdPartyLibs/SGFmtThirdPartyLibs.Build.cs index 2f4d3319..441159b3 100644 --- a/Source/ThirdParty/SGFmtThirdPartyLibs/SGFmtThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGFmtThirdPartyLibs/SGFmtThirdPartyLibs.Build.cs @@ -104,7 +104,9 @@ public class SGFmtThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGLogThirdPartyLibs/SGLogThirdPartyLibs.Build.cs b/Source/ThirdParty/SGLogThirdPartyLibs/SGLogThirdPartyLibs.Build.cs index 0315c6e5..bb4c32b6 100644 --- a/Source/ThirdParty/SGLogThirdPartyLibs/SGLogThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGLogThirdPartyLibs/SGLogThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGLogThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGLoguruThirdPartyLibs/SGLoguruThirdPartyLibs.Build.cs b/Source/ThirdParty/SGLoguruThirdPartyLibs/SGLoguruThirdPartyLibs.Build.cs index b4be0c44..4c6eaeb5 100644 --- a/Source/ThirdParty/SGLoguruThirdPartyLibs/SGLoguruThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGLoguruThirdPartyLibs/SGLoguruThirdPartyLibs.Build.cs @@ -104,7 +104,9 @@ public class SGLoguruThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGSerialThirdPartyLibs/SGSerialThirdPartyLibs.Build.cs b/Source/ThirdParty/SGSerialThirdPartyLibs/SGSerialThirdPartyLibs.Build.cs index 9fca014f..b30c5b99 100644 --- a/Source/ThirdParty/SGSerialThirdPartyLibs/SGSerialThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGSerialThirdPartyLibs/SGSerialThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGSerialThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23")); diff --git a/Source/ThirdParty/SGWjwwoodSerialThirdPartyLibs/SGWjwwoodSerialThirdPartyLibs.Build.cs b/Source/ThirdParty/SGWjwwoodSerialThirdPartyLibs/SGWjwwoodSerialThirdPartyLibs.Build.cs index 0fa1e4b6..660e96ad 100644 --- a/Source/ThirdParty/SGWjwwoodSerialThirdPartyLibs/SGWjwwoodSerialThirdPartyLibs.Build.cs +++ b/Source/ThirdParty/SGWjwwoodSerialThirdPartyLibs/SGWjwwoodSerialThirdPartyLibs.Build.cs @@ -99,7 +99,9 @@ public class SGWjwwoodSerialThirdPartyLibs : ModuleRules { LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); -#if UE_5_6_OR_LATER +#if UE_5_7_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26")); +#elif UE_5_6_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25")); #elif UE_5_5_OR_LATER LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23"));