Steam не запускается после обновления до Ubuntu 16.04

18

После обновления до Ubuntu 16.04 Steam не запускается. Когда я выполняю его из командной строки, я получаю следующую ошибку:

$ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
Installing breakpad exception handler for appid(steam)/version(1459463254)
Сенпай
источник
После sudo ldconfig?
Карл Рихтер
теперь, похоже, работает после переустановки драйвера nvidia
Senpai

Ответы:

24

Я обновил 14.04 LTS до 16.04 LTS и также не смог запустить Steam. Это началось (я имею в виду, «пар» продолжал работать), но ничего не произошло через несколько секунд.

Для меня , решение, которое я наконец нашел, состояло в том, чтобы запустить Steam из командной строки:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam

Ненужная информация ниже.

По сути, Steam предоставляет «мини-дистрибутив», который называется Steam Runtime, но в настоящее время он не выполняет полную работу, поэтому он каким-то образом конфликтует со стандартной библиотекой системы C ++ и / или другими библиотеками. Во время моих экспериментов у меня также была жалоба на систему libreadline6 <-> Steam runtime libtinfo5. После того, как я вручную распаковал tarball-пакет Steam Runtime в каталоге Steam, чтобы перезаписать то, что у меня там было ранее, он изменился, как описано в этой проблеме (pcre_jit_stack_alloc).

Интересно, что прежде чем я нашел решение, описанное выше, я смог запустить Steam, чтобы он загрузил обновление для себя, временно отключив Steam Runtime с экспортом STEAM_RUNTIME = 0. Сам Steam не запускается, но это был мой первый шаг вперед. Я попытался установить системные эквиваленты 32-битных библиотек, но не закончил / не заработал.

Тимо Джиринки
источник
Это исправлено для первого запуска. Затем при втором запуске я получаю ту же ошибку.
Майкл Файяд
7

Выполнение следующей команды работает каждый раз для меня.

LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /$LIB/libgpg-error.so.0' steam
Майкл Файяд
источник
Это сработало для меня на Debian Stretch. Спасибо!
Алоис