Subject: Re: Anybody needs help to set up a qemu VM for GNU/Hurd?

From: Svante Signell <[email-masked]>
Date: Thu, 08 Dec 2016 10:12:03 +0100

(Adding #24857 and Clement to the recipients list.)

On Wed, 2016-12-07 at 16:45 -0800, Paul Eggert wrote:
> On 12/07/2016 03:00 PM, Svante Signell wrote:
> > Hi, adding emacs-devel to the recipients
> 
> I'm not sure emacs-devel is worth bothering over all the details here, 
> so I'll drop it from the CC: list for now. We can send emacs-devel a 
> summary later as needed.

OK!

> > 
> > I normally use:
> > qemu-system-x86_64 -enable-kvm -m 2048 -net nic,model=rtl8139 -net
> > user,hostfwd=tcp::<port>-:22 -drive
> > cache=writeback,index=0,media=disk,file=<whatever>.img
> 
> Thanks, that wasn't obvious, I used that. Perhaps make it part of the 
> brief HOWTO?

I'll propose that to people who can make these changes.

> > This is expected, since qemu does not know exactly in what format the file
> > is
> > in. Maybe just ignore that warning for now? I (and others) do.
> > 
> 
> I'm a fan of fixing warnings; otherwise I find that I stop paying 
> attention to them. Surely there's some option I can give to qemu to 
> suppress the warning, and that could be part of the HOWTO?

I still haven't bothered to find out which option to pass to qemu. Maybe its
useful to find out and add it to the HOWTO too.

> > It might be easier to use the debian tools: 
> 
> I assume these commands need to be run as root on the guest.
> 
> > apt-get update
> > apt-get dist-upgrade
> 
> These work, thanks. The latter takes a looong time. Perhaps this should 
> be written down too.

Noted!

> > apt-get build-dep emacs24/emacs25

I was too brief here:
apt-get build-dep emacs24
apt-get build-dep emacs25

> This fails with 'Reading package lists... Done
> E: Unable to find a source package for emacs24/emacs25'. I forged ahead 
> by running just "apt-get build-dep emacs25" but that failed with:
> 
> E: Failed to fetch 
> http://httpredir.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.1.2-
> 1.1_hurd-i386.deb 
> Error reading from server. Remote end closed connection [IP: 
> 5.153.231.35 80]
> E: Unable to fetch some archives, maybe run apt-get update or try with 
> --fix-missing?
> E: Failed to process build dependencies
> 
> I tried running "apt-get build-dep emacs25" again. This time it finished.

Probably just a network glitch.

> > apt-get source emacs24/emacs25

As above:
apt-get source emacs24
apt-get source emacs25

> I don't want to do this, as I want to build from the master branch. I 
> did that, with plain 'configure; make'.

So you built from the tarball, right?

> Emacs built and eventually attempted to dump itself, and while it was 
> doing so, the operating system crashed. When I attempted to reboot, fsck 
> failed. I ran fsck -y by hand (took a while) and rebooted. When the OS 
> came back up, temacs was size-0, so I removed it and ran 'make' again. 
> This time it worked, in the sense that I can now run Emacs in a tty window.

I've also successfully built different emacs tarballs and git repos. The problem
is building again, or worse: to build a Debian package, which copies the whole
emacs tree into three different build directories: build-x, build-nox, build-
lucid, as well as rebuilding all *.elc files. See bug #24857, especially
comments #86,89,92,95 of that bug, for more info where Clément Pit--Claudel did
the same as you.

> So, it sounds like we can declare victory against this bug, at least for 
> the master branch. At least, it worked for me, if you ignore the OS 
> crashing during the build. Possibly the crash was because I didn't 
> reboot after the 'apt-get dist-upgrade' (you didn't say to reboot, so I 
> didn't....).

Sorry, I should have added <reboot> after dist-upgrade especially when
gnumach/hurd/glibc are updated.