Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

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

arctgx

  • Gość
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.

ZipoKing

  • Gość
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

arctgx

  • Gość
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.

TheUsh

  • Gość
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? :)

arctgx

  • Gość
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.