<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 2/1/23 13:01, KB_SBo wrote:<br>
</div>
<blockquote type="cite"
cite="mid:745bb3da-fa7e-bd42-40f0-10fdf361ead6@linuxgalaxy.org">
<pre class="moz-quote-pre" wrap="">On 1/1/23 18:06, marav wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Le 02/01/2023 à 02:49, KB_SBo a écrit :
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On 12/16/22 13:11, marav wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Hi Edward, hi all
FYI
*libslirp *is now required as an additional dependency to compile qemu
7.2.0
<a class="moz-txt-link-freetext" href="https://wiki.qemu.org/ChangeLog/7.2#Removal_of_the_.22slirp.22_submodule_.28affects_.22-netdev_user.22.29">https://wiki.qemu.org/ChangeLog/7.2#Removal_of_the_.22slirp.22_submodule_.28affects_.22-netdev_user.22.29</a>
Cheers
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Hello All,
Actually not true. libslirp is NOT a compile dependency, but optional
for user mode networking. Qemu compiles just fine without it.
From Qemu ChangeLog/7.2
The "slirp" submodule / code (which is the code behind "-netdev user" /
"-nic user") has been removed from the QEMU source tree, so you now need
to install your distributions libslirp development package before
compiling QEMU to get the user-mode networking feature included again.
Since Slackware does not have a "distribution package" (SBo provides
this functionality), libslirp is technically OPTIONAL.
I should have been a bit more clear in the README and forgot to add the
--enable-slirp option as a switch.
-Ed
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Run-time dependency slirpfound: NO(tried pkgconfig)
../meson.build:679:2: ERROR:Dependency "slirp" not found, tried pkgconfig
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Pretty weird. Doesn't do that here. I'll check again later.
</pre>
</blockquote>
<font face="monospace">I can confirm that qemu builds fine without
libslirp being present. The search for libslirp during
configuration merely determines whether user mode networking is
compiled in - failure to find libslirp is not critical to
compiling an executable.<br>
<br>
However the loss of user mode networking in the resulting qemu
executable breaks the longstanding <a
href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment">"principle
of least surprise"</a> which includes:<br>
</font>
<blockquote><font face="monospace">The <b>principle of least
astonishment</b> (<b>POLA</b>), aka <b>principle of least
surprise</b> (alternatively a <b>law</b> or <b>rule</b>),<sup
id="cite_ref-Raymond2004_1-0" class="reference"><a
href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment#cite_note-Raymond2004-1">[1]</a></sup><sup
id="cite_ref-2" class="reference"><a
href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment#cite_note-2">[2]</a></sup>
applies to <a
href="https://en.wikipedia.org/wiki/User_interface"
title="User interface">user interface</a> and <a
href="https://en.wikipedia.org/wiki/Software_design"
title="Software design">software</a> design.<sup
id="cite_ref-3" class="reference"><a
href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment#cite_note-3">[3]</a></sup>
It proposes that a component of a system should behave in a way
that most users will expect it to behave. The behavior should
not astonish or surprise users. The following is a formal
statement of the principle: "If a necessary feature has a high
astonishment factor, it may be necessary to redesign the
feature."<sup id="cite_ref-rexx_4-0" class="reference"><a
href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment#cite_note-rexx-4">[4]</a><br>
</sup></font></blockquote>
<font size="4"><sup><font face="monospace">Since we have all enjoyed
built-in user mode networking in qemu for as long as I've been
using it (long time), it's disappearance after the last update
was definitely a surprise (although it is mentioned in the
README). It seems others have also been surprised.<br>
<br>
I understand that maintainers don't want to enable all
possible features in their SlackBuilds. However I personally
don't believe that SlackBuilds should be configured in the
most minimalistic manner either. Slackware itself is not a
minimalistic distribution; its packages offer the most useful
features (by someone's opinion), not the minimum features
needed to produce a package.<br>
<br>
I think a feature so basic as user mode networking should be
included by default; adding libslirp as a hard dependency
would enable it and avoid the surprise of its absence. <br>
<br>
<br>
chris<br>
<br>
</font></sup></font>
</body>
</html>