Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 71370 - Missing dependency/library for qemu-0.6.1
Summary: Missing dependency/library for qemu-0.6.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal
Assignee: Luca Barbato
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-16 01:57 UTC by Michal Margula
Modified: 2005-04-28 07:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Margula 2004-11-16 01:57:32 UTC
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lasound
collect2: ld returned 1 exit status
make[1]: *** [qemu-fast] Błąd 1
make[1]: Leaving directory `/var/tmp/portage/qemu-0.6.1/work/qemu-0.6.1/i386'
make: *** [all] Błąd 1

I think some dependency (or maybe library?) is missing. Probably something with alsa.
Comment 1 Luca Barbato gentoo-dev 2004-11-16 02:35:57 UTC
As stated at the start of the ebuild you need to have EVERY library build static
including ALSA and NAS, if you use it.

I cannot track every library sdl is using nor rewrite the qemu x86 virtualizer in order to work in a cleaner way.

I'll think again about that but the only solution that came every time is to disable qemu-fast useflag.

Sound herd people, could be possible to have alsa and nas build every time the static version of the library?
Comment 2 Michal Margula 2004-11-17 02:06:43 UTC
You are right there was something. But I can't really guess how slow user computer needs to be so he/she can spot that notice in the beginning of qemu emerging. Maybe some pause for let sey ten seconds?

Or maybe it is possible in emerge to require alsa-lib builded with static? I don't know.
Comment 3 Michal Margula 2004-11-17 03:49:51 UTC
bash-2.05b# USE="static" emerge alsa-lib && emerge qemu

[...]

rm -f libqemu.a
ar rcs libqemu.a exec.o translate-all.o cpu-exec.o translate.o op.o helper.o helper2.o translate-copy.o disas.o  i386-dis.o
gcc  -static -Wl,-T,/var/tmp/portage/qemu-0.6.1/work/qemu-0.6.1/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 audio.o noaudio.o wavaudio.o sdlaudio.o ossaudio.o fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o cirrus_vga.o mixeng.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 -Wl,-rpath,/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext -lutil
/usr/lib/libSDL.a(SDL_loadso.o)(.text+0x1b): 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/X11R6/lib/libX11.a(x11trans.o)(.text+0x113c): In function `_X11TransSocketINETConnect':
: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
slirp/misc.o(.text+0x2a): In function `getouraddr':
/var/tmp/portage/qemu-0.6.1/work/qemu-0.6.1/slirp/misc.c:96: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/X11R6/lib/libX11.a(x11trans.o)(.text+0x127e): In function `_X11TransSocketINETConnect':
: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x24d): In function `ALSA_OpenAudio':
: undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
/usr/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x284): In function `ALSA_OpenAudio':
: undefined reference to `snd_pcm_hw_params_set_period_size_near@ALSA_0.9'
/usr/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x2b5): In function `ALSA_OpenAudio':
: undefined reference to `snd_pcm_hw_params_set_periods_near@ALSA_0.9'
/usr/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x3fe): In function `ALSA_OpenAudio':
: undefined reference to `snd_pcm_hw_params_get_channels@ALSA_0.9'
collect2: ld returned 1 exit status
make[1]: *** [qemu-fast] Błąd 1
make[1]: Leaving directory `/var/tmp/portage/qemu-0.6.1/work/qemu-0.6.1/i386'
make: *** [all] Błąd 1

Something still wrong. Maybe alsa version mismatch?

bash-2.05b# qpkg -I -v | grep alsa
media-libs/alsa-lib-1.0.6 *
media-sound/alsa-utils-1.0.6 *
media-sound/alsa-headers-1.0.6a *
Comment 4 Luca Barbato gentoo-dev 2004-11-17 05:52:33 UTC
emerge again libsdl

I'm even more versed to disable qemu-fast
Comment 5 Michal Margula 2004-11-17 07:52:17 UTC
Still same bug. Reemerging alsa-lib and libsdl didn't help. And you are probably right about removing qemu-fast, because it doesn't work every time with every OS.
Comment 6 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-17 18:26:27 UTC
lu_zero: It would be preferable to make it work with the shared libraries than to use static ones... I'm trying to cut down on the number of static libraries that are installed without an explicit USE=static... not the other way around...
Comment 7 Luca Barbato gentoo-dev 2004-11-18 01:53:29 UTC
IIRC that would require you to rewrite that code from scratch.
since the depend by useflag isn't implemented yet I'd like to have libraries build their static counterparts w/out the static useflag, better add a dynamiconly useflag for such task.
Comment 8 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-18 11:40:48 UTC
why would hte code need to be rewritten?  Just drop the '-static' from the Makefile.am's LDFLAGS and change lib_LIBRARIES = libblah.a to lib_LTLIBRARIES = libblah.la in the Makefile.am

There is absolutely no NEED to have static libs.

-static IS dynamiconly.  That's the purpose of the static USE flag.
Comment 9 Luca Barbato gentoo-dev 2005-04-28 07:55:26 UTC
should be fixed now.