Comment 1 for bug 902306

Revision history for this message
Michael Roth (mdroth) wrote : Re: [Qemu-devel] [Bug 902306] [NEW] qemu-user -static variants require shared libraries

On 12/09/2011 01:39 PM, Vagrant Cascadian wrote:
> Public bug reported:
>
> somehwere in the qemu 1.0 series, the qemu-user static variants started
> issuing build warnings like so:
>
> /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
> (.text+0xe37): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the gli
> bc version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
> (.text+0xe2a): warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the gli
> bc version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
> (.text+0xe40): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the gli
> bc version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
> (.text+0xb7a): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the g
> libc version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
> (.text+0xbbb): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the g
> libc version used for linking
>
> for a full log, see:

We introduced a glib2.0 dependency in QEMU 0.15. I think this just a
result of glib introducing a much larger static build chain dependency.
I'm not sure if glib can be decoupled for usermode emulation, those it
at least seems to have escaped the malloc()->g_malloc() conversion so
maybe there were plans for that...

But currently at least it's considered a hard general dependency.

>
> https://buildd.debian.org/status/fetch.php?pkg=qemu&arch=amd64&ver=1.0~rc4%2Bdfsg-1&stamp=1322591568
>
> i've also tested with qemu/master from today (commit
> 217bfb445b54db618a30f3a39170bebd9fd9dbf2), and it has the same issue.
>
> This seems to cause adduser, addgroup, etc. to fail in cross-
> architecture chroots that use statically built qemu-user binaries to
> emulate the foreign architecture.
>
> Older versions (0.12-0.15, at least) didn't seem to have this issue.
>
> live well,
> vagrant
>
> ** Affects: qemu
> Importance: Undecided
> Status: New
>
> ** Affects: qemu (Debian)
> Importance: Unknown
> Status: Unknown
>
> ** Bug watch added: Debian Bug tracker #651083
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651083
>
> ** Also affects: qemu (Debian) via
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651083
> Importance: Unknown
> Status: Unknown
>