[libvirt] [PATCH 1/2] qemu: fix build with musl libc

Daniel P. Berrangé berrange at redhat.com
Thu Oct 17 12:40:18 UTC 2019


On Thu, Oct 17, 2019 at 09:02:08AM -0300, Carlos Santos wrote:
> On Thu, Oct 17, 2019 at 6:13 AM Daniel P. Berrangé <berrange at redhat.com> wrote:
> >
> > On Thu, Oct 17, 2019 at 11:06:25AM +0200, Michal Privoznik wrote:
> > > On 10/16/19 1:22 PM, casantos at redhat.com wrote:
> > > > From: Carlos Santos <casantos at redhat.com>
> > > >
> > > > On musl libc "stderr" is a preprocessor macro whose expansion leads to
> > > > compilation errors:
> > >
> > > Indeed, from their stdio.h:
> > >
> > > #define stdin  (stdin)
> > > #define stdout (stdout)
> > > #define stderr (stderr)
> > >
> > > https://git.musl-libc.org/cgit/musl/tree/include/stdio.h#n66
> > >
> > > I've came accross some other musl related bugs lately and I like it less and
> > > less.
> >
> > Ultimately we don't explicitly support musl right, so expectation should
> > be that it is broken and/or will be broken in future.
> >
> > If we want to be serious about supporting builds with musl, then we need
> > it integrated into one of our Jenkins/GitLab/Travis CI systems via the
> > libvirt-jenkins-ci git repo 'lcitool'.
> >
> > Regards,
> > Daniel
> > --
> > |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> > |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> > |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 
> I'm porting libvirt to Buildroot (https://buildroot.org/) as a pet
> project and musl is one of the supported C libraries. This was the
> only compilation error I found with musl.
> 
> So far all my run-time tests pass without failure but I'm enabling a
> very limited number of features. Other problems may arise as I enable
> and test more features.
> 
> I'm testing with uClibc-ng too. I will keep you informed about the progress.

FYI, we currently use GNULIB which papers over portability issues in a
lot of cases. We're working to eliminate it, however, using GLib for
portability, but in doing this there's a strong risk we'll make mistakes
and break things that formerly worked on platforms that we don't have
CI coverage for.

So don't be surprised if you find new problems introduced over the next
few months. We're happy to see patches / bug reports of course.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list