Nowe posty

Autor Wątek: Błąd w kompilacji QEMU 0.9.1  (Przeczytany 3875 razy)

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
Błąd w kompilacji QEMU 0.9.1
« dnia: 2008-01-07, 21:07:51 »
Czy komuś z Was udało się skompilować jakąkolwiek wersję QEMU? Idąc za poradą, że nowsze wersje gcc mogą problemowo budować, do ./configure dodałem opcję --cc=gcc-3.3. Ale dostałem wynik ten sam jak przy domyślnym gcc-4.2:

/tmp/qemu-0.9.1/target-arm/op_helper.c: In function `helper_neon_tbl':
/tmp/qemu-0.9.1/target-arm/op_helper.c:251: error: unable to find a register to spill in class `GENERAL_REGS'
/tmp/qemu-0.9.1/target-arm/op_helper.c:251: error: this is the insn:
(insn:HI 48 47 49 2 0x406ac18c (parallel [
            (set (reg:DI 72)
                (lshiftrt:DI (reg:DI 72)
                    (subreg:QI (reg:SI 69) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 323 {lshrdi3_1} (insn_list 46 (insn_list 47 (nil)))
    (expr_list:REG_DEAD (reg:SI 69)
        (expr_list:REG_UNUSED (scratch:SI)
            (expr_list:REG_UNUSED (reg:CC 17 flags)
                (nil)))))
/tmp/qemu-0.9.1/target-arm/op_helper.c:251: confused by earlier errors, bailing out
make[1]: *** [op_helper.o] Błąd 1
make[1]: Opuszczenie katalogu `/tmp/qemu-0.9.1/arm-linux-user'
make: *** [subdir-arm-linux-user] Błąd 2
unset CPP CC CXX nic nie daje. Samo ./configure nie zgłasza, że coś mu brak.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

Offline Paweł Smoliński

  • Administrator
  • Guru
  • *****
  • Wiadomości: 593
    • Zobacz profil
Błąd w kompilacji QEMU 0.9.1
« Odpowiedź #1 dnia: 2008-01-07, 22:13:03 »
Ja sobie zawsze kompiluję, tylko nie robię kompilacji dla architektur (w tym przypadku ARM), których i tak nie będę używał ;) - mniej kodu, mniej powodów do błędu
Gutta cavat lapidem non vi, sed saepe cadendo / sic homo doctus fit non vi sed saepe studendo

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
Błąd w kompilacji QEMU 0.9.1
« Odpowiedź #2 dnia: 2008-01-07, 23:21:51 »
./configure --help daje mi do wyboru opcję
Cytuj
--disable-system         disable all system emulation targets
Spróbowałem na niej, ale i tak wyjście błędu wygląda jakby dotyczyło obcej architektury:
/home/arctgx/tmp/qemu-0.9.1/target-arm/op_helper.c:251: error: this is the insn:
(insn:HI 48 47 49 2 0x406ac18c (parallel [
            (set (reg:DI 72)
                (lshiftrt:DI (reg:DI 72)
                    (subreg:QI (reg:SI 69) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 323 {lshrdi3_1} (insn_list 46 (insn_list 47 (nil)))
    (expr_list:REG_DEAD (reg:SI 69)
        (expr_list:REG_UNUSED (scratch:SI)
            (expr_list:REG_UNUSED (reg:CC 17 flags)
                (nil)))))
/home/arctgx/tmp/qemu-0.9.1/target-arm/op_helper.c:251: confused by earlier errors, bailing out
make[1]: *** [op_helper.o] Błąd 1
make[1]: Opuszczenie katalogu `/home/arctgx/tmp/qemu-0.9.1/arm-linux-user'
make: *** [subdir-arm-linux-user] Błąd 2
Z drugiej strony, kiedy wyłączę wszystkie architektury, to również i386 :) Tego jeszcze nie doświadczyłem, ale wygląda na przyszły problem to jak jej emulację dokompilować. Niech jednak przejdę wpierw ten.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

Offline

  • Users
  • Guru
  • *****
  • Wiadomości: 1403
    • Zobacz profil
Błąd w kompilacji QEMU 0.9.1
« Odpowiedź #3 dnia: 2008-01-08, 00:55:00 »
Hmmm, w sumie to dlaczego męczysz się ze źródłami? :) Nie lepiej skorzystać z binarek? :)
:P

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
Błąd w kompilacji QEMU 0.9.1
« Odpowiedź #4 dnia: 2008-01-08, 01:38:22 »
Korzystam - nie mam wyjścia :) Ale w przypadku programów zużywających kawał mocy procesora warto spróbować czy będą działać szybciej, kiedy np. skompiluję go pod swój procek, tzn. do CFLAGS i CXXFLAGS dodam --march=athlon-xp (a domyślnie jest i386).

ed: nawiasem, "unset" miało unieważniać CFLAGS i CXXFLAGS, a nie jak napisałem.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam