1

When I try to launch Black Mesa from steam in Ubuntu, it does not run. When I try to run the game from the terminal, I get this error:

~/.steam/steam/steamapps/common/Black Mesa$ ./bms_linux -game bms +developer 0 -steam
./bms_linux: error while loading shared libraries: libtcmalloc_minimal.so.4: cannot open shared object file: No such file or directory

I am able to play the game on Fedora just fine by launching it in steam, but not Ubuntu. Does anyone know how to install libtcmalloc_minimal.so.4?

Edit:

After installing libtcmalloc-minimal4, I get this error:

~/.steam/steam/steamapps/common/Black Mesa$ ./bms_linux
./bms_linux: error while loading shared libraries: libtcmalloc_minimal.so.4: wrong ELF class: ELFCLASS64

Edit 2: After installing the 32bit libtcmalloc-minimal4:i386 library, I get these errors:

:~/.steam/steam/steamapps/common/Black Mesa$ ./bms_linux
SDL video target is 'x11'
SDL video target is 'x11'
This system supports the OpenGL extension GL_EXT_framebuffer_object.
This system supports the OpenGL extension GL_EXT_framebuffer_blit.
This system supports the OpenGL extension GL_EXT_framebuffer_multisample.
This system DOES NOT support the OpenGL extension GL_APPLE_fence.
This system DOES NOT support the OpenGL extension GL_NV_fence.
This system supports the OpenGL extension GL_ARB_sync.
This system supports the OpenGL extension GL_EXT_draw_buffers2.
This system DOES NOT support the OpenGL extension GL_EXT_bindable_uniform.
This system DOES NOT support the OpenGL extension GL_APPLE_flush_buffer_range.
This system supports the OpenGL extension GL_ARB_map_buffer_range.
This system supports the OpenGL extension GL_ARB_vertex_buffer_object.
This system supports the OpenGL extension GL_ARB_occlusion_query.
This system DOES NOT support the OpenGL extension GL_APPLE_texture_range.
This system DOES NOT support the OpenGL extension GL_APPLE_client_storage.
This system DOES NOT support the OpenGL extension GL_ARB_uniform_buffer.
This system supports the OpenGL extension GL_ARB_vertex_array_bgra.
This system supports the OpenGL extension GL_EXT_vertex_array_bgra.
This system supports the OpenGL extension GL_ARB_framebuffer_object.
This system DOES NOT support the OpenGL extension GL_GREMEDY_string_marker.
This system supports the OpenGL extension GL_ARB_debug_output.
This system DOES NOT support the OpenGL extension GL_EXT_direct_state_access.
This system DOES NOT support the OpenGL extension GL_NV_bindless_texture.
This system supports the OpenGL extension GL_AMD_pinned_memory.
This system supports the OpenGL extension GL_EXT_framebuffer_multisample_blit_scaled.
This system supports the OpenGL extension GL_EXT_texture_sRGB_decode.
This system supports the OpenGL extension GL_NVX_gpu_memory_info.
This system supports the OpenGL extension GL_ATI_meminfo.
This system supports the OpenGL extension GL_EXT_texture_compression_s3tc.
This system supports the OpenGL extension GL_EXT_texture_compression_dxt1.
This system supports the OpenGL extension GL_ANGLE_texture_compression_dxt3.
This system supports the OpenGL extension GL_ANGLE_texture_compression_dxt5.
This system supports the OpenGL extension GL_ARB_buffer_storage.
This system DOES NOT support the OpenGL extension GLX_EXT_swap_control_tear.
OpenGL: Gallium 0.4 on AMD CAICOS (DRM 2.46.0 / 4.8.0-27-generic, LLVM 3.8.1) 3.0 Mesa 12.0.3 (3.0.0)
GL_NV_bindless_texture: DISABLED
GL_AMD_pinned_memory: DISABLED
GL_ARB_buffer_storage: AVAILABLE
GL_EXT_texture_sRGB_decode: AVAILABLE
AppFramework : Unable to load module engine.so!
Unable to load interface VCvarQuery001 from engine.so, requested from EXE.

Note I am using the following AMD video card with the free graphics drivers:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos XTX [Radeon HD 8490 / R5 235X OEM]
  • This may be of help: askubuntu.com/questions/638104/… – negusp Dec 1 '16 at 15:16
  • Thanks! After installing the 32 bit libraries I no longer get the original error, but I get a new set of errors. I've posted the new errors above. – Kyle Dec 1 '16 at 15:43
  • Yes, however, did you try the solution (marked by a check)? – negusp Dec 1 '16 at 15:44
  • I don't have any ppa's installed, so I don't have any ppa to purge. – Kyle Dec 1 '16 at 16:35
  • What happens when you put optirun or force_s3tc_enable=true in the steam launch options? – negusp Dec 1 '16 at 18:02
1

This may be the solution:

  1. Go to the directory where Black Mesa is installed (<library path>/steamapps/common/Black Mesa/bin)

  2. Delete or rename libstdc++.so.6.

Black Mesa appears to link to its own libstdc++ version, which is older or newer than that on your system (and used by important driver binaries, like those part of Mesa), and thus incompatible. By deleting or renaming it you force the game launcher to use your system's version of the library.

I first read about this on the Steam Forums (see pages 12 and previous) and then found a very thoroughly explanation at https://thomasvanderberg.nl/blog/fixing-black-mesa-linux/.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.