Jump to page: 1 2 3
Thread overview
November 12, 2009

Projemde çalıştırıldığı dizindeki kur damı adlı dizine geçip ordaki dosyayı okutturacaktım. Ama proje nerede çalıştığını algılatamadığım için bende çalıştığı an kur damına girdirdirip oradan gerekli dosyayı proje dizinine taşıyıp açıp kapattığımızda tekrar kur damına taşıttırmak istiyordum. Ama anlamadığım bir sorunla karşılaştım.


dkurucu.o: In function `_D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFwZv':
işlevler/taşı.d:(.text._D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFwZv+0x61): undefined reference to `_D3std3utf6toUTF8FJG4awZAa'
dkurucu.o: In function `_D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo':
işlevler/taşı.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x24d): undefined reference to `_D3std5ctype7isdigitFNawZi'
işlevler/taşı.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x446): undefined reference to `_D3std5ctype7isdigitFNawZi'
işlevler/taşı.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x59d): undefined reference to `_D3std5ctype7isdigitFNawZi'
dkurucu.o: In function `_D9işlevler3aç3açFZv':
işlevler/taşı.d:(.text._D9işlevler3aç3açFZv+0x141): undefined reference to `_D3std5stdio4File6__dtorMFZv'
dkurucu.o: In function `_D9işlevler8oluştur13dosyaOluşturFZv':
işlevler/taşı.d:(.text._D9işlevler8oluştur13dosyaOluşturFZv+0x2ff): undefined reference to `_D3std5stdio4File6__dtorMFZv'
işlevler/taşı.d:(.text._D9işlevler8oluştur13dosyaOluşturFZv+0x30d): undefined reference to `_D3std5stdio4File6__dtorMFZv'
collect2: ld returned 1 exit status
--- errorlevel 1

Sizce bu Mesajda anlatılmak istenen anlaşılıyor mu ? Belki pythonda filan alıştığım için böyle bir hata kodu bana ne dediğini açıklamıyor hatta kendisi de ne olduğunu anlamamış sandırıyor

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 12, 2009

(Mesajını 'code=z' diye değiştirdim; satırların sonları kırpılıyordu.)

Haklısın... :) Ama aslında hatalar bağlayıcıdan geliyor.

O mesajlardan anlaşılan "undefined reference", bazı işlevlerin tanımlarının bulunamadığını söylüyor. Örneğin /usr/lib/libphobos2.a bulunmayabilir veya eski derleyicininki olabilir...

Hata mesajları, "işlev yükleme" (overloading) olanağının bir yan etkisi. C'de kütüphane içlerinde işlevlerin isimleri başlarına eklenen bir altçizgi karakteriyle dururlar: _foo gibi...

C++'ta ise foo() gibi bir işlevin birden çok yüklenmiş hali bulunabilir:

void foo(int);
void foo(double);
..

Kütüphane içinde ayırt edilebilsinler diye derleyici bu işlevlere değişik isimler vermek zorundadır. İşin içine isim alanları filan da giriyor tabii...

Gördüğün garip isimler bunun bir sonucu. C++'ta olan, D'de aynen devam ediyor.

Bunun için bir şey yapılabilir belki ama hata mesajları aslında bağlayıcıdan geliyor. Bir Linux ortamında o ortamın bağlayıcısı kullanıldığı için, bu kötü etkiyle yaşamaz zorundayız... Daha doğrusu, D derleyicisi bir şey yapamaz...

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

Evet dediğiniz gibi linux'ta sorun varmış. Her programda aynı hatayı veriyor. Şimdi windows'da derlediğimde yazdığım program turp gibi sapasağlam gözüküyor.

Acaba neden böyle oluyor. Sorun phobos kütüphanesinde gözükmüyor. Çünkü writeln() gibi phobos kütüphanesinin işlevlerini çalıştırıyor diye hatırlıyorum. Ama emir gibi tanımladığım modüllerin işlevlerini tanımıyor. Acaba kodda mı yanlışlık var diye düşündüğümde de hem dmd hata vermiyor hem de windows'ta çalışıyor.

Sanırım bu sorun linux'ta olduğu için linux forumlarında sor diyeceksiniz ama bilgisiz olduğum için sorunumu nasıl anlatacağımı bilmiyorum. Herhalde; "bağlayıcılarda sorunum var nedenini bilmediğim bir şekilde yazdığım işlevler için tanımlanamadı diye hata kodları veriyor. Ama kodlarımda hata yok çünkü başka platformlarda sağlıklı çalışıyor. Sorunum ne olabilir ? " diye soracağım. Sizin bildiğiniz iyi bir linux forumu var mı ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

evet merhaba dünya yazısını bile çıkartamıyormuşum da haberim yokmuş. merhaba dünya programında verilen hata :


deneme.o: In function `_D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFwZv':
deneme.d:(.text._D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFwZv+0x61): undefined reference to `_D3std3utf6toUTF8FJG4awZAa'
deneme.o: In function `_D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo':
deneme.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x24d): undefined reference to `_D3std5ctype7isdigitFNawZi'
deneme.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x446): undefined reference to `_D3std5ctype7isdigitFNawZi'
deneme.d:(.text._D3std6format10FormatInfo14__T5parseTAxaZ5parseFKAxaZS3std6format10FormatInfo+0x59d): undefined reference to `_D3std5ctype7isdigitFNawZi'
collect2: ld returned 1 exit status
--- errorlevel 1


dmd.conf :

[Environment]

DFLAGS=-I%@P%/../../src/phobos -I%@P%/../../src/druntime/import -L-L%@P%/../lib

Bence kullanıcı hatası çıkacak :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

Her şey doğru. Bir de tamamen yeniden kurulum yapmadım ama dmd dizinini silip tekrar indirip kurmuştum. Yarın en baştan kurarım.

Bir de acaba siz hangi linux dağıtımını kullanıyorsunuz. Eğer uzmanlık gerektirmeyecek bir dağıtımsa dağıtımımı değiştirme vaktim gelmiştir :-) Hele paketi bolsa durmam geçerim :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

Bu sorunu yaşayan küçük bir program oluşturabiliyor musun? Birden fazla .d dosyası kullanınca mı oluyor? Program oluşturulurken kullanılan komutlar neler? Örneğin dmd satırında ne var?

/etc/dmd.conf dosyasının da önemi olduğunu biliyorum. Acaba o nasıl?

Kim bilir belki de gerçekten dmd hatasıdır. Ama yine de emin olmak isterim... :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

O zaman herhalde kurulumda bir sorun var. Kurma adımlarını bir kere daha tekrarlar mısın...

'which' komutuyla hangi dmd'nin kullanıldığını öğrenip sonra onun sürümüne bakabilirsin:

$ which dmd
~/dmd/linux/bin/dmd
$ ~/dmd/linux/bin/dmd
Digital Mars D Compiler v2.036
..

Belki bir fikir verir. (?)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 02, 2009

Çalıştığım firmanın (Riverbed) ürünü CentOS üzerinde çalıştığı için bende de o var. CentOS, RedHat'in ücretsiz olanı gibi bir şey...

Linux seçimi zor konu... :) Evde güçsüz bir bilgisayarda da xubuntu var.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 03, 2009

Alıntı (acehreli):

>

Linux seçimi zor konu... :)

Evet zor konu ama linux'u cd'ye yazma konusu daha da zor. Ubuntuyu indirdim, pardusta k3b aracılığıyla yazdım. Cd hatalı çıktı. Baktım yanlış mı indirdim diye md5 doğru çıktı. Ben de k3b'nin iso dosyasını cd'ye çok kere yanlış yazdığını duydum. Bari windowsta yazayım dedim. Yavaş yazdırdım nero hata ile karşılaşmadıkta dedi. Sonra yeniden başlattım ve yine hatalı. Ama korsan windows yazdırsanız böyle bir hata başınıza gelmez :-D

Bende bari pardus'un sorununu halledeyim dedim. Yeniden kurayım dedim. Sonra baktım kurmakla uğraşılmaz kütüphane sorunu var bende kütüphane'yi kopyalatayım dedim. Ve oldu çalışıyor.

Bu sürede bende D'yi nedense biraz daha sevdim :-) Ama windowsta türkçe karakter yazdıramamam beni üzdü. Her ne kadar hata windowstan olsada (Herhalde öğledir :-) ) python'un filan sağlam çalışmasından ve windows'ta sağlam çalışmamasından dolayı üzüldüm.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 03, 2009

Windows'da Türkçe karakter olayını çözdük sanmıştık... :) Şu yaptıklarımız işe yarıyor mu:

http://ddili.org/forum/post/8

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2 3