qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: User mode linux for Mac OS X with qemu


From: Ivan Levashew
Subject: [Qemu-devel] Re: User mode linux for Mac OS X with qemu
Date: Sun, 07 Jun 2009 10:19:26 +0700
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ru; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 ThunderBrowse/3.2.4 Mnenhy/0.7.6.666

Paul Brook wrote:

Doing cross emulation is in theory possible, however in practice it gets extremely messy for anything other than the trivial case and it's unclear whether it's worth the effort, or whether qemu is the appropriate place to do this (c.f. WINE).

One application of it is using Linux/Q instead of wine and java.


Another application (my dream) is deterministic build system. Community yell loudly when OpenOffice fails to render 1:1 document from Microsoft Office.

However, it is often unnoticed that it's insanely hard to do 1:1 build of any randomly picked "open source" build.

Pain starts from the very beginning: configure. It requires a prefix as part of its operation. Strange enough that it doesn't ask for command line parameters or program launch date or whatever else parameter unknown prior to the moment of execution.
Compilers also like putting filenames (including pathes) into binaries.
Autoconf, m4, pkg-config, lots of tools that make build result dependent on host configuration.

Every factor commits to denying the fourth freedom, freedom to improve. Anybody willing to fix the problem feels like an elephant in a crockery shop. One can never be sure that he hasn't forgot some essential compiler flag if he can't verify it. Ability to build 1:1 is the ultimate verify. If I can build original program 1:1, I can be pretty sure that my fix will be the only change I've maid to the compiled program.

It is often the case when I know how to fix something but not doing it because building something is never gonna be a short journey.

A virtual machine (kinda Cygwin) might cure some of the diseases. Cygwin is a good example here. There are no symlinks on PreVista Windows, but Cygwin provides an illusion that they exist.

A virtual machine of my dream have a tweakable namespace (kinda Plan 9) because it aids very much in creating a deterministic build environment.

Full-blown VM is
a) way too big gun for precise shooting
b) doesn't provide a tweakable namespace


Nix package manager is deterministic, but it takes some time to port something into Nix. Nix puts every compiled package into dedicated directory. Every directory needs to be mentioned in include,lib,path lists. I think that tweaked namespace is a simpler solution.

--
If you want to get to the top, you have to start at the bottom





reply via email to

[Prev in Thread] Current Thread [Next in Thread]