Ошибка пользователя ConnectionFailure (RTS не поддерживает несколько потоков ОС (используйте ghc -threaded при связывании))

Я столкнулся с приведенной ниже ошибкой при запуске исполняемого файла, созданного с помощью stack build:

 ( ConnectionFailure user error ( RTS doesn't support multiple OS threads ( use ghc -threaded when linking ) ) )

Удивительно, но этот исполняемый файл работает на моей машине, но не на другой ...

В чем причина этой ошибки? Почему он ведет себя по-разному на двух машинах?

Машина, на которой он работает, использует ЦП AMD, а другая неработающая использует ЦП Intel.


В моем ~/stack/config.yaml у меня есть: ghc-build: nopie из-за https://github.com/commercialhaskell/stack/issues/2712. Я только что удалил это сейчас и снова пробую stack build ...


person Chris Stryczynski    schedule 08.03.2018    source источник
comment
Вы пробовали делать то, что написано, и компилировать с -threaded?   -  person Ignat Insarov    schedule 08.03.2018
comment
Кажется, это сработало, спасибо!   -  person Chris Stryczynski    schedule 08.03.2018


Ответы (1)


  ghc-options: -O2 -Wall -fwarn-tabs -funbox-strict-fields -threaded -fno-warn-unused-do-bind -rtsopts

добавить выше в клику

Я просто догадываюсь с описанными выше вариантами. Дополнительную информацию можно найти здесь: https://github.com/snapframework/snap-server/issues/51

person Chris Stryczynski    schedule 08.03.2018
comment
Большинство из них не имеют ничего общего с потоками. Все, что здесь требуется, - это параметр -threaded, упомянутый в сообщении об ошибке; -rtsopts необходим для анализа аргументов RTS. - person Cubic; 09.03.2018