[Çözüldü] Cannot find -lGL hatası

Başlatan aktoluna, 20 Mayıs 2012 - 13:20:58

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

aktoluna

S.a herkese. Opengl ile yazılmıs c dosyamı derleyince hata alıyorum .ÇIktı söyle

root@ali-Inspiron-N5010:/home/ali/Masaüstü# gcc lesson2.c -o program -lGL -lGLU -lglut
/usr/bin/ld: cannot find -lGL
collect2: ld çıkış durumu 1 ile döndü

bytan

Çıktısı nedir?

ls -all /usr/lib | grep -i libgl


Kısaca bağ atmalısın. Örnek:

ln -s /usr/lib/libGL.so.xxx /usr/lib/libGL.so

Bu arada işlem yapmadan önce bozuk olma ihtimali nedeniyle varsa libGL.so dosyasının adını değiştir.
Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

aktoluna

#2
çıktı söyle

ali@ali-Inspiron-N5010:~$ ls -all /usr/lib | grep -i libgl
drwxr-xr-x   3 root root         4096 May  8 08:44 libglade
lrwxrwxrwx   1 root root           12 May 20 13:04 libGL.so -> libGL.so.1.2
-rw-r--r--   1 root root       512622 Oca 19  2011 libglut.a
lrwxrwxrwx   1 root root           16 Oca 19  2011 libglut.so -> libglut.so.3.9.0
lrwxrwxrwx   1 root root           16 Oca 19  2011 libglut.so.3 -> libglut.so.3.9.0
-rw-r--r--   1 root root       287720 Oca 19  2011 libglut.so.3.9.0



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 13:34:45

Ayrıca libgl diye bir klasör bulunmuyor hocam


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 13:38:35

Klasör olmadıgını yeni farkettim buldum kopyaladım. İkinci işlemi yapamdım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 13:41:16

çıktı söyle

ali@ali-Inspiron-N5010:~$ ln -s /usr/lib/libGL.so.xxx /usr/lib/libGL.so
ln: failed to create symbolic link `/usr/lib/libGL.so': Dosya var

travego0403

"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

Hayır hocam olmadı yinede teşekkürler

heartsmagic

@aktoluna, öncelikle yanlış yaptığın bir şeyi söyleyeyim.
ln -s /usr/lib/libGL.so.xxx /usr/lib/libGL.so

Komutu böyle verirsen zaten olmaz. Oradaki xxx sürüm numarası, doğrudan kullanacağın bir şey değil yani. Şu komut ne diyor:
ls -l /usr/lib/i386-linux-gnu/mesa/
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

aktoluna

çıktı söyle hocam
ali@ali-Inspiron-N5010:~$ ls -l /usr/lib/i386-linux-gnu/mesa/
toplam 356
-rw-r--r-- 1 root root     29 Mar 30 14:46 ld.so.conf
lrwxrwxrwx 1 root root     12 May 18 18:42 libGL.so.1 -> libGL.so.1.2
-rw-r--r-- 1 root root 358232 Mar 30 14:47 libGL.so.1.2

heartsmagic

Aslında bu GL kütüphanesini grafik kartı sürücüleri de sağlıyor fakat mesa ayağı burada sanırım. Şunu bir denesek:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2 /usr/lib/i386-linux-gnu/mesa/libGL.so
sudo ldconfig
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

aktoluna

olmadı yine hocam aynı hata devam ediyor

bytan

Sonuç ne oluyor?

sudo mv /usr/lib/libGL.so /usr/lib/libGL.so.yedek
sudo ln -s/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2  /usr/lib/libGL.so
Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

travego0403

Hata sanki kütüphane dosyası değil başlık dosyalarının bulunduğu include diziniyle alakalı gibi geldi bana. usr/include dizini içerisinde bulundan GL klasörünü bulamıyor gibi geldi.(Bu dizin sizde mevcut mu?) Derleme parametrelerine bu dizinin tam adresini yazarak derlemeye çalışır mısınız?
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

#11
Hocam tam adresi yazdım yine olmadı. Ben lib klasörünün sorunlu oldugunu düşünüyorum. Sİstemde çok program yüklü final haftasındayım opengl ile oyun yazmam lazım. Baska yöntemler arıyorum. Acaba sadece lib klasörünün onarma gibi bi yol varmı


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 18:48:43

Alıntı yapılan: bytan - 20 Mayıs 2012 - 18:36:28
Sonuç ne oluyor?

sudo mv /usr/lib/libGL.so /usr/lib/libGL.so.yedek
sudo ln -s/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2  /usr/lib/libGL.so


hocam cıktılar söyle
ali@ali-Inspiron-N5010:~$ sudo mv /usr/lib/libGL.so /usr/lib/libGL.so.yedek
mv: `/usr/lib/libGL.so' durumlanamadı: Böyle bir dosya ya da dizin yok
ali@ali-Inspiron-N5010:~$ sudo ln -s/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2  /usr/lib/libGL.so
ln: geçersiz seçenek -- /
Daha fazla bilgi için `ln --help' yazın.
ali@ali-Inspiron-N5010:~$



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 18:50:18

sistem 64 bit

bytan

Komutu verirken yanlış vermişsin, -s parametresi ile / arasında bir karakter boşluk bırakıp tekrar deneyelim.
Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

travego0403

"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

dediginiz yapıp derledigimde çıktı söyle

ali@ali-Inspiron-N5010:~/Masaüstü$ g++ -lGL -lGLU -lglut ali.cpp -o merhabaGL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
/usr/bin/ld: cannot find -lGL
collect2: ld çıkış durumu 1 ile döndü



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 18:54:46

Alıntı yapılan: travego0403 - 20 Mayıs 2012 - 18:51:44
GL dizini mevcut mu?

evet GL dizini mevcut

travego0403

#15
Derleme komutunu şu şekilde dener misiniz.
gcc lesson2.c -o program  -L=/usr/include/GL -lGLU -lglut


Düzenleme: Komut yanlış yazmışım galiba.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

çıktı söyle hocamali@ali-Inspiron-N5010:~/Masaüstü$ gcc lesson2.c -o program -lGL -L=/usr/include/GL -lglut
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
/usr/bin/ld: cannot find -lGL
collect2: ld çıkış durumu 1 ile döndü
ali@ali-Inspiron-N5010:~/Masaüstü$



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 19:06:11

oldu hocam çok teşekkür ederim

travego0403

Yukarıdaki komutta -lGL li yerde bi yanlışlık vardı, düzelttim. Bir daha dener misiniz.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

Hocam bide codeblocks ile derleyince hata olusuyor . Hata cannot find -lGL oluyor


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Mayıs 2012 - 19:08:06

Düzelterek denedim consolda oldu. Codeblocks da hata vermeye devam ediyor

travego0403

Öncelikle sorununuz kütüphanelerle alakalı değil, bağlayıcı(Linker) ile ilgili. Bağlayıcı GL dizinini bulamıyordu.

Code Blocks şu an bende kurulu değil. Ama kaba taslak anlatayım. Bağlayıcı(Linker) parametrelerine yukarıdaki parametreleri ekleyin. Sorununuz çözülecektir.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

-L=/usr/include/GL -lGLU -lglut bu parametleri tek tek toplu mu olarak mı

travego0403

Toplu olarakta yazılabiliyordu sanırım. Tabi CodeBlocks ta proje oluştururken Konsol tabanlı proje açın. OpenGL ya da Glut projesi olarak açarsanız işin içinden çıkamazsınız.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

Allah razı olsun halloldu sonunda. Yalnız anlayamadıgım nokta önceden glut porject olarak sorun cıkarmıyordu codeblocks niye şimdi böyle yapıyor ki. Ubuntu tekrar kurmak yerine başka bir çözümü olabilir mi?

travego0403

Bilmiyorum, Code Blocksta şimdiye kadar hiç Glut projesi oluşturup kullanmadım. Bir sürü karışık ayarlar getirdi önüme. Bende kendi işimi kendim hallederim deyip Konsol projesi oluşturup ayarları ona göre ayarlayıp kullandım.

Sorununuz çözüldüğüne göre başlığı etiketleyebilirsiniz.
http://forum.ubuntu-tr.net/index.php?topic=31789.0
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

aktoluna

Anladım hocam. İlgilenen herkese çok teşekkür ederim