Что это вообще за зверь и с чем его едят? Гугл находит только шаманства, которые помогали людям в их специфических ситуациях (например, попытку задействовать как std::mutex реализацию из библиотеки boost), и поспешные оправдания в том, что это, мол, «local issue». А что за «local issue» и почему - нигде ничего не находится.
/usr/include/c++/6.2.0/bits/std_mutex.h на месте, в /usr/include/c++/6.2.0/mutex он упомянут, и «#include <mutex>» в исходниках (кстати, эмулятора MAME) совсем не забыто. Правда, там есть проверка на версию стандарта, но компилятор вызывается с "-std=c++14" и всё равно падает:
# make
GCC 6.2.0 detected
Precompiling src/emu/emu.h...
In file included from ../../../../../src/emu/emucore.h:37:0,
from ../../../../../src/emu/emu.h:29:
../../../../../src/emu/emualloc.h:128:7: ошибка: <<mutex>> в пространстве имен <<std>> не именует тип
std::mutex m_listlock;
^~~~~
make[2]: *** [precompile.make:270: ../../../../linux_gcc/obj/x64/Release/emu.h.gch] Ошибка 1
make[1]: *** [Makefile:55: precompile] Ошибка 2
make: *** [makefile:1170: linux_x64] Ошибка 2
Где может быть засада?