temel sorunu takın. Spesifik olarak, threadscope
'u çalıştırmak istiyorum, bu yüzden gtk
'a ihtiyacım var.Haskell gtk Tipi Çatışmalar
Graphics/UI/Gtk/Embedding/Plug.chs:120:6:
Couldn't match expected type ‘Ptr()’
with actual type ‘Maybe DrawWindow’
In the first argument of ‘gtk_plug_new’, namely
‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
In the second argument of ‘($)’, namely
‘gtk_plug_new
(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
Graphics/UI/Gtk/Embedding/Plug.chs:137:6:
Couldn't match expected type ‘Ptr()’
with actual type ‘Maybe DrawWindow’
In the second argument of ‘\ (Display arg1) arg2
-> withForeignPtr arg1
$ \ argPtr1 -> gtk_plug_new_for_display argPtr1 arg2’, namely
‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
In the second argument of ‘($)’, namely
‘(\ (Display arg1) arg2
-> withForeignPtr arg1
$ \ argPtr1 -> gtk_plug_new_for_display argPtr1 arg2)
display
(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
Graphics/UI/Gtk/Embedding/Plug.chs:151:3:
Couldn't match type ‘Ptr()’ with ‘Maybe DrawWindow’
Expected type: IO (Maybe DrawWindow)
Actual type: IO (Ptr())
In the second argument of ‘($)’, namely
‘(\ (Plug arg1)
-> withForeignPtr arg1 $ \ argPtr1 -> gtk_plug_get_id argPtr1)
(toPlug self)’
In the expression:
liftM toNativeWindowId
$ (\ (Plug arg1)
-> withForeignPtr arg1 $ \ argPtr1 -> gtk_plug_get_id argPtr1)
(toPlug self)
cabal: Error: some packages failed to install:
Ben daha önce Haskell'ın gtk
kütüphanesi vardı ve: homebrew
ve gtk buildtools
çalışma cezası ama
cabal install gtk
veya
cabal install --with-gcc=gcc-4.8 gtk
kullandığımda olsun aşağıdaki derleme hatası ile ilk aşamaları Haskell platformumu'ten güncellemeden önce threadscope
uygulaması yüklü ve çalışıyor 210 ila ghc 7.10.2
. İlk başta bir yükleme çakışması olduğunu düşündüm, ancak thorough removal instructions'u kullanarak sistemimden Haskell platformunu tekrar tekrar kaldırdım ve threadscope
kurulumunu başarı ile tekrar denedim. Altında yatan gtk+
ve ilgili paketleri homebrew
kullanarak yeniden yükledim ve yeniden başaramadım.
Ptr()
ve Maybe DrawWindow
türlerinin nereden kaynaklandığını ve bu nedenle çakışmanın nereden gelebileceğini bilmiyorum. Neyin yanlış gidebileceği hakkında herhangi bir fikir memnuniyetle karşılanacaktır!
http://www.edsko.net/2015/03/09/sandboxes-revisited/
"GTK sandbox" için sayfa Arama:
Merhaba, cevabınız için teşekkürler! Ne yazık ki bu, gtk yapısı sırasında yukarıdaki ile aynı hatalarla sonuçlandı. –
GHC 7.10.2 kullanıyor musunuz? Yukarıdaki tarif, threadcope'u bir sanal alanda oluşturur, bu yüzden şu anda GHC'nin farklı bir sürümünde bulunuyorsanız kurulu paketlerinizi rahatsız etmeden onu takip edebilirsiniz. – ErikR
Evet, GHC 7.10.2 kullanıyorum ve tarifin neden işe yaramadığı konusunda kafam çok karışıktı çünkü bir sandbox son çare olarak eminim. –