я проверяю библиотеку развития вычислительной музыки 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
У меня такая же проблема, используя Euterpea-1.0.0 из cabal на Manjaro 3.17.8-1. Я могу «играть» внутри ghci, но не через ghc. – ben