Hackage'dan double-conversion
paketini oluşturmaya çalışıyorum. Tamam, ancak ghci yükleyemiyor. şikayet:Bir Hackage paketindeki Tanımsız sembol "çift dönüştürme"
Loading package double-conversion-0.2.0.0 ... linking ... <interactive>:
/home/me/.cabal/lib/double-conversion-0.2.0.0/ghc-7.0.4/HSdouble-conversion-0.2.0.0.o:
unknown symbol `_ZNK17double_conversion6Double5valueEv'
nm
çıktı sembol zayıf olduğunu gösterir:
nm /home/me/.cabal/lib/double-conversion-0.2.0.0/ghc-7.0.4/HSdouble-conversion-0.2.0.0.o \
| grep _ZNK17double_conversion6Double5valueEv
00000000 W _ZNK17double_conversion6Double5valueEv
Bu dosyada sadece zayıf semboldür ve gerçekten de, bildiğim kadarıyla söyleyebilirim, GHC tarafından derlenmiş paketlerin tüm dünyasında.
Sorunlu işlev açıkça C++ ile yazılmış ve double-conversion/src/double.h
numaralı satır içinde tanımlanmış bir FFI öğesidir. Buradaki tek satır içi işlevi değil, yalnızca bu kişi zayıf olarak etiketlendi.
Bir durma önlemi olarak işlevi devre dışı bıraktım ve paket şimdi yükleniyor. Ama belli ki orada bir yerde bir sorun var. Bu işlev neden zayıf? Neden diğer işlevler değil? Ghc zayıf sembollerden şikayet etmeli mi? Ben bir hata dosya ve eğer öyleyse, kim (çift dönüşüm, gcc, ghc, başka biri) almalı mıyım?
Sistem verileri: Gentoo Linux, gcc-4.4.5, ghc-7.0.4, cabal -1.10.2.0.
Metin formatını kurmaya çalışırsanız ne tür bir hata alırsınız? Belki Yesod, Template Haskell'den çift dönüşüm kullanmayı dener mi? –
Bindirmeyi kullanmayı denediniz mi? – alternative
@monadic: Ben aslında, ancak başarısız sonra yerel 'cabal install' denedim overlay kullanıyorum. Hata mesajı aynı. @Mikhail Glushenkov: Aslında 'text-format' kurabilirim, ama 'yesod' kuramıyorum. Hata mesajı aynı. –