Building to Android platform on a linux build server

We are having trouble producing an Android build via our Linux build agents. Builds are being produced but when executed the bank file can not be found.

BankLoadException : [FMOD] Could not load bank 'file:///android_asset/Master.strings.bank' : ERR_FILE_NOTFOUND : File not found.
FMODUnity.RuntimeManager.RegisterLoadedBank (FMODUnity.RuntimeManager)
FMODUnity.RuntimeManager.LoadBank (FMODUnity.RuntimeManager)
FMODUnity.RuntimeManager.LoadBanks (FMODUnity.RuntimeManager)
FMODUnity.RuntimeManager.Initialize (FMODUnity.RuntimeManager)
FMODUnity.RuntimeManager.get_Instance (FMODUnity.RuntimeManager)
FMODUnity.RuntimeManager.get_StudioSystem (FMODUnity.RuntimeManager)
FMODUnity.StudioListener.AddListener (FMODUnity.StudioListener)
FMODUnity.RuntimeManager:Initialize (FMODUnity)
FMODUnity.RuntimeManager:get_Instance (FMODUnity)
FMODUnity.RuntimeManager:get_StudioSystem (FMODUnity)
FMODUnity.StudioListener:AddListener (FMODUnity)

When looking at the build logs this seems to be the underlying cause.

Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/fmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/fmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/fmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/fmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL.so
Fallback handler could not load library /opt/unity/Editor/Data/MonoBleedingEdge/lib/libfmodstudioL
Build Task PostDependencyCallback failed with exception:
fmodstudioL assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) FMOD.Memory.FMOD5_Memory_GetStats(int&,int&,bool)
  at FMOD.Memory.GetStats (System.Int32& currentalloced, System.Int32& maxalloced, System.Boolean blocking) [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/fmod.cs:992 
  at FMODUnity.RuntimeUtils.EnforceLibraryOrder () [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/RuntimeUtils.cs:538 
  at FMODUnity.EditorUtils.CreateSystem () [0x0000a] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:529 
  at FMODUnity.EditorUtils.get_System () [0x0000c] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:616 
  at FMODUnity.EventManager.UpdateCache () [0x00269] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EventManager.cs:178 
  at FMODUnity.EventManager.RefreshBanks () [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EventManager.cs:32 
  at FMODUnity.EventManager.BuildTargetChanged () [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EventManager.cs:1053 
  at FMODUnity.EventManager+<>c.<.cctor>b__15_0 () [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EventManager.cs:570 
  at FMODUnity.BuildStatusWatcher.SetBuildInProgress (System.Boolean inProgress) [0x0003c] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:1712 
  at FMODUnity.BuildStatusWatcher+<>c.<Startup>b__6_0 (UnityEditor.Build.Pipeline.Interfaces.IBuildParameters parameters, UnityEditor.Build.Pipeline.Interfaces.IDependencyData dependencyData) [0x00000] in /home/jenkins/workspace/game-night_dev_jenkins/Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:1753 
  at UnityEditor.Build.Pipeline.BuildCallbacks.PostDependency (UnityEditor.Build.Pipeline.Interfaces.IBuildParameters buildParameters, UnityEditor.Build.Pipeline.Interfaces.IDependencyData dependencyData) [0x00008] in ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/Shared/BuildCallbacks.cs:45 
  at UnityEditor.Build.Pipeline.Tasks.PostDependencyCallback.Run () [0x00000] in ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/Tasks/PostDependencyCallback.cs:28 
  at UnityEditor.Build.Pipeline.BuildTasksRunner.Run (System.Collections.Generic.IList`1[T] pipeline, UnityEditor.Build.Pipeline.Interfaces.IBuildContext context) [0x0009d] in ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/Shared/BuildTasksRunner.cs:56 
UnityEngine.StackTraceUtility:ExtractStackTrace () (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogError (object)
UnityEditor.Build.Pipeline.Utilities.BuildLogger:LogError (string,object[]) (at ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/Utilities/BuildLogger.cs:124)
UnityEditor.Build.Pipeline.BuildTasksRunner:Run (System.Collections.Generic.IList`1<UnityEditor.Build.Pipeline.Interfaces.IBuildTask>,UnityEditor.Build.Pipeline.Interfaces.IBuildContext) (at ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/Shared/BuildTasksRunner.cs:63)
UnityEditor.Build.Pipeline.ContentPipeline:BuildAssetBundles (UnityEditor.Build.Pipeline.Interfaces.IBundleBuildParameters,UnityEditor.Build.Pipeline.Interfaces.IBundleBuildContent,UnityEditor.Build.Pipeline.Interfaces.IBundleBuildResults&,System.Collections.Generic.IList`1<UnityEditor.Build.Pipeline.Interfaces.IBuildTask>,UnityEditor.Build.Pipeline.Interfaces.IContextObject[]) (at ./Library/PackageCache/com.unity.scriptablebuildpipeline@1.21.25/Editor/ContentPipeline.cs:155)
UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptPackedMode:DoBuild<UnityEditor.AddressableAssets.Build.AddressablesPlayerBuildResult> (UnityEditor.AddressableAssets.Build.AddressablesDataBuilderInput,UnityEditor.AddressableAssets.Build.DataBuilders.AddressableAssetsBuildContext) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Build/DataBuilders/BuildScriptPackedMode.cs:339)
UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptPackedMode:BuildDataImplementation<UnityEditor.AddressableAssets.Build.AddressablesPlayerBuildResult> (UnityEditor.AddressableAssets.Build.AddressablesDataBuilderInput) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Build/DataBuilders/BuildScriptPackedMode.cs:130)
UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptBase:BuildData<UnityEditor.AddressableAssets.Build.AddressablesPlayerBuildResult> (UnityEditor.AddressableAssets.Build.AddressablesDataBuilderInput) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Build/DataBuilders/BuildScriptBase.cs:98)
UnityEditor.AddressableAssets.Settings.AddressableAssetSettings:BuildPlayerContentImpl (UnityEditor.AddressableAssets.Build.AddressablesDataBuilderInput,bool) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Settings/AddressableAssetSettings.cs:2873)
UnityEditor.AddressableAssets.Settings.AddressableAssetSettings:BuildPlayerContent (UnityEditor.AddressableAssets.Build.AddressablesPlayerBuildResult&,UnityEditor.AddressableAssets.Build.AddressablesDataBuilderInput) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Settings/AddressableAssetSettings.cs:2836)
UnityEditor.AddressableAssets.Settings.AddressableAssetSettings:BuildPlayerContent (UnityEditor.AddressableAssets.Build.AddressablesPlayerBuildResult&) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Settings/AddressableAssetSettings.cs:2813)
AddressablesPlayerBuildProcessor:PrepareForPlayerbuild (UnityEditor.AddressableAssets.Settings.AddressableAssetSettings,UnityEditor.Build.BuildPlayerContext,bool) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Build/AddressablesPlayerBuildProcessor.cs:101)
AddressablesPlayerBuildProcessor:PrepareForBuild (UnityEditor.Build.BuildPlayerContext) (at ./Library/PackageCache/com.unity.addressables@1.22.3/Editor/Build/AddressablesPlayerBuildProcessor.cs:80)
UnityEditor.Build.BuildPipelineInterfaces:PreparePlayerBuild (UnityEditor.Build.BuildPlayerContext) (at /home/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:490)
UnityEditor.BuildPipeline:PreparePlayerBuild (UnityEditor.BuildPlayerOptions) (at /home/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline.bindings.cs:309)
UnityEditor.BuildPipeline:BuildPlayerInternal (string[],string,string,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,int,UnityEditor.BuildOptions,string[]) (at /home/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline.bindings.cs:528)
UnityEditor.BuildPipeline:BuildPlayer (string[],string,string,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,int,UnityEditor.BuildOptions,string[]) (at /home/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline.bindings.cs:393)
UnityEditor.BuildPipeline:BuildPlayer (UnityEditor.BuildPlayerOptions) (at /home/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline.bindings.cs:339)

Unity Version: 2022.3.53f1
FMOD Version: 2.03.02

I have attempted a reimport of the Unity FMOD package.

The only libraries that appear to be included for Linux are:

  • Plugins\FMOD\platforms\linux\lib\x86_64\libfmodstudio.so
  • Plugins\FMOD\platforms\linux\lib\x86_64\libresonanceaudio.so

Are there any dependencies that may be missing on our Linux build agent? Or any indication as to what might be the root cause?

Hi,

Thank you for the information.

Yes, there should also be the libfmodstudioL file for Linux:


and Android:

Are you using a headless Unity to build the project? If you are checking out the repo on the build machine it may be worth checking these files have not been ignored.