Forum: D Programlama Dili RSS
GtkD Kurulumunda hata
Avatar
Racih (Moderatör) #1
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: GtkD Kurulumunda hata
Selamlar,

Dmd2 ye göre dsss i ayarladıktan sonra. Gtkd derlenmiyor. dsss build dedikten sonra verdiği hata;

Error: version identifier 'Posix' is reserved and cannot be set

İnternette araştırdım. Fakat ne bir çözüm yok .

Nasıl çözebiliriz ?
erdem (Moderatör) #2
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben bunun çözümünü bulmuştum bir yerlerde bir saniye bulabilirsem yazayım..

Sanırım rebuild/rebuild.conf/dmd-posix dosyasında ya da kurulumla ilgili hangi dosyalar varsa onlardaki version=Posix satırlarını yorum haline getirerek derleniyordu.
Bu mesaj erdem tarafından değiştirildi; zaman: 2009-09-25, 10:33.
Avatar
Racih (Moderatör) #3
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yok o zaman şu hatayı veriyor;
Error: cannot have parameter of type void

erdem (Moderatör) #4
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Tam olarak derlemeye çalıştığın program Tango(bos) kullanıyorsa açıkca -I seçeneği ile eklemen gerekiyormuş. Benim tahminim derleyici sürümlerinden kaynaklanan bir hata olabilir. Örneğin DMD 1.0 ile derlenmesi gereken bir programı DMD 2.0 ile derlemek gibi. Yalnız benim derlemeye çalıştığım kütüphane farklı bir kütüphane idi. D-Porting isimli bir kütüphane. O yüzden sonraki hata mesajları farklı olabilir.

DSS'nin sayfasında şöyle bir uyarı var:
DSSS 0.78 works with the 1.0 and 2.0 releases of the D Language (and their corresponding releases of DMD 1.00 and GDC 0.21). It should be able to build software with the DMD 2.0 alpha releases, but has not been tested thoroughly.
Avatar
Racih (Moderatör) #5
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Biz neden 0.77 yada 0.75 i denemedik :) Zaten dmd desteği var. Ama onlarda hata veriyor.

http://svn.dsource.org/projects/dsss/downloads/
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bugün meşguldüm. Hiç olmazsa bendeki hatayı göstereyim:

gtkD]$ dsss build
undemofy

Creating imports for DD-atk

Creating imports for DD-cairo

Creating imports for DD-gdk

Creating imports for DD-gdkpixbuf

Creating imports for DD-gio

Creating imports for DD-glade

Creating imports for DD-glib

Creating imports for DD-gobject

Creating imports for DD-gthread

Creating imports for DD-gtk

Creating imports for DD-gtkc

Creating imports for DD-pango

atk => DD-atk
gobject/ObjectG.d(86): module gc cannot read file 'std/gc.d'
Command /home/acehreli/dsss/bin/rebuild returned with code 256, aborting.
Error: Command failed, aborting.


Haklılar: nedense dmd altında std/gc.d modülüm yok. Yanlışlıkla silmiş olabilir miyim?

Neyse... Sonra bakacağım... :)

Ali
Avatar
Racih (Moderatör) #7
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
std.gc bende de yok. Demekki dmd2 yok. Bende hata verdiği dosyaya gittim. gtkD/src/gobject/ObjectG.d içerisindeki şu satırları buldum.

version(Tango) {
    private import tango.core.Memory;
   
    version = druntime;
} else version(D_Version2) {
    private import core.memory;
    version = druntime;
} else {
    private import std.gc;
}


Eğer dmd sürümü 2 ise şunu bağla diyor.

else version(D_Version2) {
    private import core.memory;
    version = druntime;

Eğer değilse ;
else {
    private import std.gc;
}


Şuan dmd2 kullanıyoruz. Demekki dmd nin sürümünü kontrol edemiyor. D_Version2 kodu yanlış olabilir. Bende En son bloğa bi üsttekileri yazdım. Ve ilk mesajımdaki hatayı aldım. Bu hatanın cevabını sadece burası veriyor. http://proj.llucax.com.ar/blog/dgc/blog/post/-3785f442

Ama ben burdan bişi anlamadım.
acehreli (Moderatör) #8
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bir fikir: dmd'nin komut satırı seçeneği -version=D_Version2 bu işi hallediyor olabilir. Bunu dsss.conf'a bildirmek işe yarayabilir.

Yani gtkD'ciler, version olarak D_Version2'nin seçili olmasını beklemişler. Belki kurma belgelerinde vardır... (?)

Ali
Avatar
Racih (Moderatör) #9
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Malesef gtkd kurulumda ondan bahsetmiyor. dsss ile derleme şekli gösteriliyor.
acehreli (Moderatör) #10
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
Racih on 2009-09-26, 00:25:
version(Tango) {
    private import tango.core.Memory;
   
    version = druntime;
} else version(D_Version2) {
    private import core.memory;
    version = druntime;
} else {
    private import std.gc;
}


Orada açıkça bir hata var. Bütün o kodun yerine D_Version2'nin bloğundaki iki satırı yazdım ve ilerleme kaydettim:

    private import core.memory;
    version = druntime;

Ama daha sonra başka hatalarla karşılaştım:

gdk/Drawable.d(134): Error: identifier 'ObjectG' is not defined

Şu satırdaki ObjectG, ancak tam adı yazılırsa derleniyor:

public class Drawable : ObjectG
{

Veya bir alias ile:

alias gobject.ObjectG.ObjectG ObjectG;

Bunun gibi bir sürü isim hatası oluyor. Hepsini teker teker yapmak yerine daha kolay bir yolu olmalı ama ben bilmiyorum.

Ondan sonra gtkD'nin D2 2.029'u desteklediğini okuyunca 2.032 ile uğraşmaktan vazgeçtim. :/

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-18, 17:26:36 (UTC -08:00)