Hi On Tue, Aug 3, 2021 at 1:50 PM Peter Maydell wrote: > On Tue, 3 Aug 2021 at 10:08, Peter Maydell > wrote: > > Are you testing by starting with a before-the-libslirp-merge > > change QEMU, doing a build, then updating to the libslirp > > changes, and then doing a 'make' without reconfigure or > > 'make clean' ? I suspect this is perhaps to do with it being > > an incremental build. > > More specifically: > > $ git checkout master > $ mkdir build/slirptest > $ (cd build/slirptest && ../../configure --target-list=arm-softmmu > --enable-debug --disable-docs --disable-tools) > $ make -C build/slirptest -j8 > $ git checkout remotes/elmarco/libslirp > $ make -C build/slirptest > $ mkdir build/slirp2 > $ (cd build/slirptest && ../../configure --target-list=arm-softmmu > --enable-debug --disable-docs --disable-tools) > $ make -C build/slirp2 > > The build/slirptest directory has built a .so, and the > build/slirp2 directory has built a static .a. > > (Both builds succeed because they're not hitting the clang > static analyzer thing, but they shouldn't be building different > types of library.) > > Running '../../meson/meson.py configure' in slirp2 gives > (ignoring the non libslirp parts of the output): > > Subproject libslirp: > > Core options Current Value > Possible Values > Description > ------------ ------------- > --------------- > ----------- > libslirp:default_library static > [shared, static, both] Default > library type > libslirp:werror true [true, > false] Treat warnings > as errors > > Project options Current Value > Possible Values > Description > --------------- ------------- > --------------- > ----------- > libslirp:version_suffix > Suffix to append > to SLIRP_VERSION_STRING > > In slirptest I get only: > > Subproject libslirp: > > Project options Current Value > Possible Values > Description > --------------- ------------- > --------------- > ----------- > libslirp:version_suffix > Suffix to append > to SLIRP_VERSION_STRING > > > So somehow meson has failed to apply the default_library and werror > options in > the incremental build case. > > Thanks for the detailed steps. It turns out that incremental build with subprojects is broken with meson < 0.57.2 ( https://github.com/mesonbuild/meson/pull/8424). Either we acknowledge that, or we fix the qemu meson.build for now with the missing -lresolv for osx/bsd. I am going to work on a patch for the second option, but leave the decision open. -- Marc-André Lureau