std::thread を使用するにはマルチスレッドを有効にしてください: 操作は許可されていません

std::thread を使用するにはマルチスレッドを有効にしてください: 操作は許可されていません

私は仕事でLinuxマシンを使うことが多いのですが、それらは古くてパワー不足のマシンです。実は私はもっとパワフルなマシンにArch Linuxをインストールしていて、それでゲームをやってみることにしました。オフィス管理 101 デモ実行できるかどうか確認するためです。解凍してフォルダに入り、実行し$ chmod a+x OfficeManagement101たら次のようになりました。

$ ./OfficeManagement101 
config file: /home/me/Downloads/om101-linux/config.json
jar: /home/me/Downloads/om101-linux/om101_drm_free.jar
mainClass: eu/tulevik/officemanagement101/desktop/DesktopLauncher
vmArg 0: -Xmx1G
jre: /home/me/Downloads/om101-linux/jre/lib/amd64/server/libjvm.so
Exception in thread "LWJGL Application" java.lang.ExceptionInInitializerError
    at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:555)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:122)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(LinuxDisplay.java:954)
    at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:738)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
    ... 2 more
AL lib: (EE) alc_cleanup: 1 device not closed

インターネットで調べてみると$ sudo pacman -S xorg-xrandr、画面が黒くなり、その後、新しいエラーが表示されます。

$ ./OfficeManagement101 
config file: /home/me/Downloads/om101-linux/config.json
jar: /home/me/Downloads/om101-linux/om101_drm_free.jar
mainClass: eu/tulevik/officemanagement101/desktop/DesktopLauncher
vmArg 0: -Xmx1G
jre: /home/me/Downloads/om101-linux/jre/lib/amd64/server/libjvm.so
terminate called after throwing an instance of 'std::system_error'
  what():  Enable multithreading to use std::thread: Operation not permitted
Aborted (core dumped)

次に何をすべきか、本当によくわかりません。これは Linux で修正する必要があるものでしょうか、それとも両方から少し離れた C++ の問題なのでしょうか。何か助けはありますか?

答え1

what(): マルチスレッドを有効にして std::thread を使用します: 操作は許可されていません

これは、プログラム (またはその一部) が-pthread、Glibc の Pthreads 実装にリンクする GCC のオプションを使用してリンクされなかったことを意味します。

これかもしれない動作しますが、実際の正しい解決策は、次のオプションを使用してプログラムを適切にビルドすることです-pthread

LD_PRELOAD=/usr/lib64/libpthread.so.0 ./OfficeManagement101 

関連情報