我想爲我的程序的用戶提供一些Linux二進制文件以及當前的Windows二進制文件,所以我安裝了Ubuntu 11.10(自haskell-platform在11.04包仍然是2010版)。但是,當我嘗試在Ubuntu 10.04上運行所得到的二進制文件時,我收到消息說找不到libgmp.so.10。檢查/ usr/lib顯示10.04附帶libgmp.so.3,而11.10附帶libgmp.so.10。因此,看起來GHC是動態鏈接到libgmp而不是靜態的,我認爲它是默認的。構建在Ubuntu 11.10上的Haskell程序不能在Ubuntu 10.04上運行
有什麼辦法可以告訴GHC在二進制文件中靜態包含libgmp嗎?如果沒有,是否有其他解決方案不需要用戶安裝不同版本的libgmp?
除非我錯了,'libgmp'默認是動態鏈接的原因是,靜態鏈接它會迫使您在GPL許可證下分發生成的可執行文件。 – hammar
你最好編寫一個軟件包,讓每個軟件包爲每個不同的拱形構建,而不是靜態鏈接gmp – alternative