Osu: Crash at startup: Unable to load DLL 'bass'

Created on 12 Apr 2018  ยท  5Comments  ยท  Source: ppy/osu

osu!lazer is unable to load the bass.dll file despite it being present in the build output directory.

Platform: Linux kernel 4.14.11-1 64bit
Compiler/Runtime: .NETCore 2.1.103
Note: I am using a patched version of the OpenTK.dll file with these changes: https://github.com/ppy/opentk/pull/16

Relevant Runtime Exception:

[runtime:error] fatal error:
[runtime:important] System.DllNotFoundException: Unable to load DLL 'bass': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
   at ManagedBass.Bass.GetDeviceInfo(Int32 Device, DeviceInfo& Info)
   at ManagedBass.Bass.get_DeviceCount()
   at osu.Framework.Audio.AudioManager.getAllDevices() in /home/jai/Projects/osu/osu-framework/osu.Framework/Audio/AudioManager.cs:line 188
   at osu.Framework.Audio.AudioManager.updateAvailableAudioDevices() in /home/jai/Projects/osu/osu-framework/osu.Framework/Audio/AudioManager.cs:line 290
   at osu.Framework.Audio.AudioManager.setAudioDevice(String preferredDevice) in /home/jai/Projects/osu/osu-framework/osu.Framework/Audio/AudioManager.cs:line 198
   at osu.Framework.Audio.AudioManager.<>c__DisplayClass28_0.<onDeviceChanged>b__0() in /home/jai/Projects/osu/osu-framework/osu.Framework/Audio/AudioManager.cs:line 139
   at osu.Framework.Threading.Scheduler.Update() in /home/jai/Projects/osu/osu-framework/osu.Framework/Threading/Scheduler.cs:line 147
   at osu.Framework.Threading.GameThread.ProcessFrame() in /home/jai/Projects/osu/osu-framework/osu.Framework/Threading/GameThread.cs:line 124
   at osu.Framework.Threading.GameThread.runWork() in /home/jai/Projects/osu/osu-framework/osu.Framework/Threading/GameThread.cs:line 106
   at System.Threading.Thread.ThreadMain_ThreadStart()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'bass': The specified module or one of its dependencies could not be found.

Directory Hierarchy:

osu.Desktop/bin/Debug/netcoreapp2.0/
โ”œโ”€โ”€ libbass.dylib
โ”œโ”€โ”€ libbass_fx.dylib
โ”œโ”€โ”€ libbass_fx.x64.so
โ”œโ”€โ”€ libbass_fx.x86.so
โ”œโ”€โ”€ libbass.x64.so
โ”œโ”€โ”€ libbass.x86.so
โ”œโ”€โ”€ ManagedBass.dll.config
โ”œโ”€โ”€ ManagedBass.Fx.dll.config
โ”œโ”€โ”€ OpenTK.dll                               <-- Patched file
โ”œโ”€โ”€ osu!.deps.json
โ”œโ”€โ”€ osu!.dll
โ”œโ”€โ”€ osu.Framework.dll
โ”œโ”€โ”€ osu.Framework.pdb
โ”œโ”€โ”€ osu.Game.dll
โ”œโ”€โ”€ osu.Game.pdb
โ”œโ”€โ”€ osu.Game.Resources.dll
โ”œโ”€โ”€ osu.Game.Resources.pdb
โ”œโ”€โ”€ osu.Game.Rulesets.Catch.dll
โ”œโ”€โ”€ osu.Game.Rulesets.Catch.pdb
โ”œโ”€โ”€ osu.Game.Rulesets.Mania.dll
โ”œโ”€โ”€ osu.Game.Rulesets.Mania.pdb
โ”œโ”€โ”€ osu.Game.Rulesets.Osu.dll
โ”œโ”€โ”€ osu.Game.Rulesets.Osu.pdb
โ”œโ”€โ”€ osu.Game.Rulesets.Taiko.dll
โ”œโ”€โ”€ osu.Game.Rulesets.Taiko.pdb
โ”œโ”€โ”€ osu!.pdb
โ”œโ”€โ”€ osu!.runtimeconfig.dev.json
โ”œโ”€โ”€ osu!.runtimeconfig.json
โ”œโ”€โ”€ x64
โ”‚ย ย  โ”œโ”€โ”€ avcodec-51.dll
โ”‚ย ย  โ”œโ”€โ”€ avformat-52.dll
โ”‚ย ย  โ”œโ”€โ”€ avutil-49.dll
โ”‚ย ย  โ”œโ”€โ”€ bass.dll                             <-- existing dll not found by program
โ”‚ย ย  โ”œโ”€โ”€ bass_fx.dll
โ”‚ย ย  โ”œโ”€โ”€ d3dcompiler_47.dll
โ”‚ย ย  โ”œโ”€โ”€ libEGL.dll
โ”‚ย ย  โ”œโ”€โ”€ libGLESv2.dll
โ”‚ย ย  โ”œโ”€โ”€ pthreadGC2.dll
โ”‚ย ย  โ””โ”€โ”€ SQLite.Interop.dll
โ””โ”€โ”€ x86
    โ”œโ”€โ”€ avcodec-51.dll
    โ”œโ”€โ”€ avformat-52.dll
    โ”œโ”€โ”€ avutil-49.dll
    โ”œโ”€โ”€ bass.dll
    โ”œโ”€โ”€ bass_fx.dll
    โ”œโ”€โ”€ d3dcompiler_47.dll
    โ”œโ”€โ”€ libEGL.dll
    โ”œโ”€โ”€ libGLESv2.dll
    โ”œโ”€โ”€ pthreadGC2.dll
    โ””โ”€โ”€ SQLite.Interop.dll


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

framework-fix-required

All 5 comments

Pretty sure this should be reported against framework, not osu!.

Can linux load .dll? I think is .so

dllmap not work on dotnet core
try rename libbass.x64.so to libbass.so and set LD_LIBRARY_PATH

Did ppy/osu-framework#1617 solve this as well?

Yes, it did.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Gonzalo-Bruna picture Gonzalo-Bruna  ยท  3Comments

smileyhead picture smileyhead  ยท  3Comments

Fatal3ty picture Fatal3ty  ยท  3Comments

skhrenov picture skhrenov  ยท  3Comments

stageosu picture stageosu  ยท  3Comments