2015-05-01 6 views
2

я проверяю библиотеку развития вычислительной музыки Euterpea, и я пытаюсь собрать следующую основную программу:Haskell GHC, связывая ошибку при попытке скомпилировать программу с помощью GHC и Euterpea

import Euterpea 

    t251 :: Music Pitch 
    t251 = let dMinor = d 4 wn :=: f 4 wn :=: a 4 wn 
       gMajor = g 4 wn :=: b 4 wn :=: d 5 wn 
       cMajor = c 4 bn :=: e 4 bn :=: g 4 bn 
      in dMinor :+: gMajor :+: cMajor 

    main = play t251 

программа прекрасно работает внутри GHCI, но когда я пытаюсь скомпилировать его с помощью ghc test.hs я получаю следующее сообщение об ошибке:

Linking test ... /usr/bin/ld: /home/fayong/.cabal/lib/PortMidi-0.1.3/ghc-7.6.3/libHSPortMidi-0.1.3.a(ptlinux.o): undefined reference to symbol '[email protected]@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

Вроде бы связывающая ошибка, но я не знаю, как это исправить. Я попытался передать -lpthread в качестве опции, но это тоже не сработало.

Я установил Euterpea через междусобойчик, на Linux Mint 17

+0

У меня такая же проблема, используя Euterpea-1.0.0 из cabal на Manjaro 3.17.8-1. Я могу «играть» внутри ghci, но не через ghc. – ben

ответ

2

Я получил ту же ошибку, и установил ее, запустив GHC с опцией '-threaded'. Я думаю, что это имеет какое-то отношение к недавнему обновлению пьесы, но мне придется больше изучить его.

Смежные вопросы