Unable to package server build for LinuxArm64

Hello everyone.

This is my first time posting here so I apologize if I got something wrong.

I am currently having trouble making a server build of a game for the LinuxArm64 platform. I tried putting the arm64 files from the Android folder into the LinuxArm64 folder but that did not work. The project builds when building the “Development Server” configuration in Visual Studio but when I try to package it in the editor, I get a packaging error (return value 1; “Unknown error”). When I try packaging without fmod, everything packages correctly.

Additional information:
Unreal Engine version: 5.5.1
FMOD version: 2.03

Any help would be appreciated. Thank you!

EDIT: added more context for the issue

Our Unreal integration currently does not support Linux arm64, for now I can add a task to add this in a future update.

You could get the libs from the Linux API download but you would also need to modify the FMODStudio.Build.cs which works out the path to the libs.

I tried using the Linux libs from the Linux API and changing the FMODStudio.Build.cs file. While linking the library I got the following errors:

UATHelper: Packaging (LinuxArm64): ld.lld: error: C:/UnrealProjects/GameProject/Plugins/FMODStudio/Binaries/LinuxArm64\libfmodL.so is incompatible with elf64-littleaarch64
UATHelper: Packaging (LinuxArm64): ld.lld: error: C:/UnrealProjects/GameProject/Plugins/FMODStudio/Binaries/LinuxArm64\libfmodstudioL.so is incompatible with elf64-littleaarch64
UATHelper: Packaging (LinuxArm64): clang++: error: linker command failed with exit code 1 (use -v to see invocation)

I assume when you said Linux API that you are referring to this website.

Also, these are the changes I made in the Build.cs file:

else if (Target.Platform == UnrealTargetPlatform.Linux)
{
libPath = System.IO.Path.Combine(libPath, “x86_64”);
linkExtension = “.so”;
dllExtension = “.so”;
libPrefix = “lib”;
}
else if (Target.Platform == UnrealTargetPlatform.LinuxArm64)
{
linkExtension = “.so”;
dllExtension = “.so”;
libPrefix = “lib”;
}
// … rest is the same

EDIT: text formatting