Derleme Sorunu

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Arkadaşlar herkese iyi günler dilerim. Derlemek istediğim dosyaları derlerken bir sorun oluyor.

Derlemeye çalıştığım dosya:

Sorun:
Kod:
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~
cc1: all warnings being treated as errors
make: *** [/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/rules.mak:18: block/qcow2-cluster.o] Error 1
root@efishell-PC:/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64# make install
  CC    block/qcow2-cluster.o
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~

Görsel:
Screen Capture_20201114181539.jpg


Şimdiden herkese teşekkür ederim. :) @darkstar @rise
 

Mehmet_Emir

Doçent
Katılım
10 Eylül 2020
Mesajlar
896
Reaksiyon puanı
1,180
Puanları
93
Hata olan satırlarda for döngüsü ve if ifadesi için süslü parantez açmamış o hatayı düzeltip tekrar deneyebilir misin?
 

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Hata olan satırlarda for döngüsü ve if ifadesi için parantez açmamış o parantezleri düzeltip tekrar deneyebilir misin?
Peki nasıl yapacağım dediğinizi? Anlatırsanız sevinirim. :)
 

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Son düzenleme:

kmurat

Müdavim
Müdavim
Katılım
8 Şubat 2014
Mesajlar
9,192
Çözümler
3
Reaksiyon puanı
3,980
Puanları
1,358
Qemu çoğu Linux dağıtımının depolarında mevcut zaten. Sürümü farklı olabilir.
 

Mehmet_Emir

Doçent
Katılım
10 Eylül 2020
Mesajlar
896
Reaksiyon puanı
1,180
Puanları
93
Tamam, teşekkür ederim. Deneyip sonucu yazacağım. :)
Mesaj otomatik birleştirildi:


250. satıra geldim. Nasıl düzeltmem lazım?
Ekli dosyayı görüntüle 124056
Orada for ve if için süslü parantez açmamış yani for için if bölümünü içe alacak şekilde süslü parantez açman ve if bölümü için ise break kodunu içine alan bir süslü parantez açman gerek.
 

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Orada for ve if için süslü parantez açmamış yani for için if bölümünü içe alacak şekilde süslü parantez açman ve if bölümü için ise break kodunu içine alan bir süslü parantez açman gerek.
Doğru mu yaptım?
Screen Capture_20201114185910.jpg
 

Oldner

Öğrenci
Katılım
20 Mayıs 2020
Mesajlar
10
Reaksiyon puanı
8
Puanları
3
Yaş
29
Hata olan satırlarda for döngüsü ve if ifadesi için süslü parantez açmamış o hatayı düzeltip tekrar deneyebilir misin?

For ve if yapilarinda tek satirlik kodlar icin suslu parenteze gerek yok diye biliyorum. C icin bu durum gecerli degil mi?
 

BMW_M4

Doçent
Katılım
29 Ekim 2020
Mesajlar
674
Reaksiyon puanı
1,159
Puanları
93
Yaş
23
Hayır isterseniz ben nasıl olacağının ekran görüntüsünü atıyım.
Mesaj otomatik birleştirildi:

Ekli dosyayı görüntüle 124059
Zorin <3 <3
Mesaj otomatik birleştirildi:

Arkadaşlar herkese iyi günler dilerim. Derlemek istediğim dosyaları derlerken bir sorun oluyor.

Derlemeye çalıştığım dosya:

Sorun:
Kod:
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~
cc1: all warnings being treated as errors
make: *** [/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/rules.mak:18: block/qcow2-cluster.o] Error 1
root@efishell-PC:/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64# make install
  CC    block/qcow2-cluster.o
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~

Görsel:
Ekli dosyayı görüntüle 124053

Şimdiden herkese teşekkür ederim. :) @darkstar @rise
Üstadım dağıtımı sorabilir miyim arayüzü çok hoşuma gitti.
 

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Deepin kullanıyor.
Böyle yaptım (resimin kalitesi düşük olduğundan parantezleri ayırt etmekte zorlandım):
Kod:
static int count_contiguous_clusters(uint64_t nb_clusters, int cluster_size,uint64_t *l2_table, uint64_t start, uint64_t mask)
{
    int i;
    uint64_t offset = be64_to_cpu(l2_table[0]) & ~mask;

    if (!offset) {
        return 0;
     }

    for (i = start; i < start + nb_clusters; i++) {
        if {offset + (uint64_t) i * cluster_size != (be64_to_cpu(l2_table[i]) & ~mask)) (
            break;
        )
        
    )
    return (i - start);
}

Doğru mu bu peki? :)
 

Mehmet_Emir

Doçent
Katılım
10 Eylül 2020
Mesajlar
896
Reaksiyon puanı
1,180
Puanları
93
Böyle yaptım (resimin kalitesi düşük olduğundan parantezleri ayırt etmekte zorlandım):
Kod:
static int count_contiguous_clusters(uint64_t nb_clusters, int cluster_size,uint64_t *l2_table, uint64_t start, uint64_t mask)
{
    int i;
    uint64_t offset = be64_to_cpu(l2_table[0]) & ~mask;

    if (!offset) {
        return 0;
     }

    for (i = start; i < start + nb_clusters; i++) {
        if {offset + (uint64_t) i * cluster_size != (be64_to_cpu(l2_table[i]) & ~mask)) (
            break;
        )
     
    )
    return (i - start);
}

Doğru mu bu peki? :)
Doğru değil
Mesaj otomatik birleştirildi:

Böyle yaptım (resimin kalitesi düşük olduğundan parantezleri ayırt etmekte zorlandım):
O zaman kodu atıyım
C:
static int count_contiguous_clusters(uint64_t nb_clusters, int cluster_size,
uint64_t *l2_table, uint64_t start, uint64_t mask)
{
    int i;
    uint64_t offset = be64_to_cpu(l2_table[0]) & ~mask;

    if (!offset) {
        return 0;
    }

    for (i = start; i < start + nb_clusters; i++) {
        if (offset + (uint64_t) i * cluster_size != (be64_to_cpu(l2_table[i]) & ~mask)) {
            break;
        }
    }
    return (i - start);
}
 
Son düzenleme:

EFI Shell

Rektör
Emektar
Katılım
9 Ağustos 2018
Mesajlar
19,532
Çözümler
37
Reaksiyon puanı
19,245
Puanları
5,258
Yaş
20
Doğru değil
Mesaj otomatik birleştirildi:


O zaman kodu atıyım
C:
static int count_contiguous_clusters(uint64_t nb_clusters, int cluster_size,
uint64_t *l2_table, uint64_t start, uint64_t mask)
{
    int i;
    uint64_t offset = be64_to_cpu(l2_table[0]) & ~mask;

    if (!offset) {
        return 0;
    }

    for (i = start; i < start + nb_clusters; i++) {
        if (offset + (uint64_t) i * cluster_size != (be64_to_cpu(l2_table[i]) & ~mask)) {
            break;
        }
    }
    return (i - start);
}
Sizi yoruyorsam hocam özür dilerim. :) Bir sorun daha oluştu bu seferde. :)
Kod:
root@efishell-PC:/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64# make
  CC    libhw64/ppce500_pci.o
/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/hw/ppce500_pci.c:237:33: error: ‘vmstate_pci_inbound’ defined but not used [-Werror=unused-const-variable=]
 static const VMStateDescription vmstate_pci_inbound = {
                                 ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/rules.mak:18: ppce500_pci.o] Error 1
make: *** [Makefile:84: subdir-libhw64] Error 2

Screen Capture_20201114193414.jpg
 

Mehmet_Emir

Doçent
Katılım
10 Eylül 2020
Mesajlar
896
Reaksiyon puanı
1,180
Puanları
93
Sizi yoruyorsam hocam özür dilerim. :) Bir sorun daha oluştu bu seferde. :)
Kod:
root@efishell-PC:/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64# make
  CC    libhw64/ppce500_pci.o
/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/hw/ppce500_pci.c:237:33: error: ‘vmstate_pci_inbound’ defined but not used [-Werror=unused-const-variable=]
static const VMStateDescription vmstate_pci_inbound = {
                                 ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/rules.mak:18: ppce500_pci.o] Error 1
make: *** [Makefile:84: subdir-libhw64] Error 2

Ekli dosyayı görüntüle 124062
Hmm vmstate_pci_inbound değişkeni tanımlanmış ama kullanılmamış o yüzden vmstate_pci_inbound değişkeninin tanımlandığı yeri silip tekrar deneyin.
 

darkstar

Profesör
Katılım
21 Ağustos 2016
Mesajlar
1,707
Çözümler
2
Reaksiyon puanı
1,503
Puanları
358
Arkadaşlar herkese iyi günler dilerim. Derlemek istediğim dosyaları derlerken bir sorun oluyor.

Derlemeye çalıştığım dosya:

Sorun:
Kod:
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~
cc1: all warnings being treated as errors
make: *** [/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64/rules.mak:18: block/qcow2-cluster.o] Error 1
root@efishell-PC:/home/efishell/Downloads/qemu-ia64-pvaibhav-ia64# make install
  CC    block/qcow2-cluster.o
block/qcow2-cluster.c: In function ‘count_contiguous_clusters’:
block/qcow2-cluster.c:250:5: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
     for (i = start; i < start + nb_clusters; i++)
     ^~~
block/qcow2-cluster.c:254:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  return (i - start);
  ^~~~~~

Görsel:
Ekli dosyayı görüntüle 124053

Şimdiden herkese teşekkür ederim. :) @darkstar @rise
repo en son 2011 de gücellenmiş, o kadar eski kodu geliştirmeden güncellemeden derleyemezsiniz, kasmayın derim. Sanallaştırma konusu da ayrıca zor bir konudur. Intel kendisi ia64ü bıraktığı için muhtemelen kullandığınız kütüphaneler derleyiciler vs ia64 desteklemiyordur.
 
Üst