Kompilacja qemu

wopozka@gazeta.pl wopozka w gazeta.pl
Pią, 15 Paź 2004, 21:48:24 CEST


Próbuję właśnie skompilować sobie qemu z cvsu, no i napotkałem 
problem, którego za bardzo nie umiem rozwiązać. Więc tak: 
 
[piotr w timemachine ~/rpm/rozne/qemu/qemu]$ rpm -q SDL SDL-devel 
alsa  
alsa-devel gpm gpm-devel slang slang-devel 
SDL-1.2.7-1 
SDL-devel-1.2.7-1 
pakiet alsa nie jest zainstalowany 
pakiet alsa-devel nie jest zainstalowany 
gpm-1.20.1-6 
gpm-devel-1.20.1-6 
slang-1.4.9-8 
slang-devel-1.4.9-8 
 
[piotr w timemachine ~/rpm/rozne/qemu/qemu]$ make 
for d in i386-user i386 i386-softmmu arm-user sparc-user ppc-user 
ppc-softmmu  
sparc-softmmu; do \ 
make -C $d all || exit 1 ; \ 
        done 
make[1]: Wejście do katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386-user' 
make[1]: Nie ma nic do zrobienia w `all'. 
make[1]: Opuszczenie katalogu  
`/home/users/piotr/rpm/rozne/qemu/qemu/i386-user' 
make[1]: Wejście do katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386' 
gcc  -static -Wl,-T,/home/users/piotr/rpm/rozne/qemu/qemu/i386-vl.ld  -o  
qemu-fast vl.o osdep.o block.o readline.o monitor.o pci.o console.o  
block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o ide.o 
ne2000.o  
pckbd.o vga.o sb16.o dma.o oss.o fdc.o mc146818rtc.o serial.o i8259.o 
i8254.o  
pc.o cirrus_vga.o gdbstub.o sdl.o slirp/cksum.o slirp/if.o slirp/ip_icmp.o  
slirp/ip_input.o slirp/ip_output.o slirp/slirp.o slirp/mbuf.o slirp/misc.o  
slirp/sbuf.o slirp/socket.o slirp/tcp_input.o slirp/tcp_output.o  
slirp/tcp_subr.o slirp/tcp_timer.o slirp/udp.o slirp/bootp.o slirp/debug.o  
slirp/tftp.o libqemu.a  -lm -lz -L/usr/lib -lSDL -lm -ldl -lasound  
-L/usr/X11R6/lib -lX11 -lXext -laa -L/usr/lib -lcaca_pic -lslang -lX11  
-L/usr/X11R6/lib -lpthread -L/usr/lib -Wl,-rpath,/usr/lib -laa -lm  
-L/usr/X11R6/lib -lX11 -lgpm -lslang -lutil 
/usr/bin/ld: cannot find -lSDL 
^^^^^^^^^^^^^^^^^^^^^^^^^^ 
collect2: ld returned 1 exit status 
make[1]: *** [qemu-fast] Błąd 1 
make[1]: Opuszczenie katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386' 
make: *** [all] Błąd 1 
 
Więc robię tak: 
poldek> install SDL-static-1.2.7-1 
 
[piotr w timemachine ~/rpm/rozne/qemu/qemu]$ make 
[ciach] 
/usr/bin/ld: cannot find -lasound 
collect2: ld returned 1 exit status 
make[1]: *** [qemu-fast] Błąd 1 
po zainstalowaniu alsa-lib-static, błąd znika, za to pojawia się to samo dla  
-lgpm, -lslang. Oba te błędy znikają po zainstalowaniu gpm-static i  
slang-static. 
 
Ostatecznie jest: 
 
[piotr w timemachine ~/rpm/rozne/qemu/qemu]$ make 
for d in i386-user i386 i386-softmmu arm-user sparc-user ppc-user 
ppc-softmmu  
sparc-softmmu; do \ 
make -C $d all || exit 1 ; \ 
        done 
make[1]: Wejście do katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386-user' 
make[1]: Nie ma nic do zrobienia w `all'. 
make[1]: Opuszczenie katalogu  
`/home/users/piotr/rpm/rozne/qemu/qemu/i386-user' 
make[1]: Wejście do katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386' 
gcc  -static -Wl,-T,/home/users/piotr/rpm/rozne/qemu/qemu/i386-vl.ld  -o  
qemu-fast vl.o osdep.o block.o readline.o monitor.o pci.o console.o  
block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o ide.o 
ne2000.o  
pckbd.o vga.o sb16.o dma.o oss.o fdc.o mc146818rtc.o serial.o i8259.o 
i8254.o  
pc.o cirrus_vga.o gdbstub.o sdl.o slirp/cksum.o slirp/if.o slirp/ip_icmp.o  
slirp/ip_input.o slirp/ip_output.o slirp/slirp.o slirp/mbuf.o slirp/misc.o  
slirp/sbuf.o slirp/socket.o slirp/tcp_input.o slirp/tcp_output.o  
slirp/tcp_subr.o slirp/tcp_timer.o slirp/udp.o slirp/bootp.o slirp/debug.o  
slirp/tftp.o libqemu.a  -lm -lz -L/usr/lib -lSDL -lm -ldl -lasound  
-L/usr/X11R6/lib -lX11 -lXext -laa -L/usr/lib -lcaca_pic -lslang -lX11  
-L/usr/X11R6/lib -lpthread -L/usr/lib -Wl,-rpath,/usr/lib -laa -lm  
-L/usr/X11R6/lib -lX11 -lgpm -lslang -lutil 
/usr/lib/libSDL.a(SDL_loadso.o)(.text+0xa): In function `SDL_LoadObject': 
: warning: Using 'dlopen' in statically linked applications requires at  
runtime the shared libraries from the glibc version used for linking 
/usr/bin/ld: __libc_errno: TLS definition in /usr/lib/libc.a(errno.o)  
section .tbss mismatches non-TLS reference in /usr/lib/libc.a(check_fds.o) 
/usr/lib/libc.a: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
make[1]: *** [qemu-fast] Błąd 1 
make[1]: Opuszczenie katalogu 
`/home/users/piotr/rpm/rozne/qemu/qemu/i386' 
make: *** [all] Błąd 1 
[piotr w timemachine ~/rpm/rozne/qemu/qemu]$ 
 
Ma ktoś jakieś pomysły dlaczego tak się dzieje. Być może jest coś nie tak 
z  
wielką trójcą gcc/binutils/glibc, chociaż z drugiej strony wszystko inne się  
dobrze kompiluje (za wyjątkiem nowych glibców z cvs). 
 
Przepraszam jeśli ten mail jest skaszaniony, ale mój serwer mailowy 
uparcie twierdzi, że zawiera wirusa i jestem zmuszony przez www go 
słać. 
pozdrawiam 
piotrek. 







Więcej informacji o liście dyskusyjnej pld-users-pl