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

Re: [MirageOS-devel] Struggling a bit with the Hello World applications



This was my fault, as I introduced an existential crisis into the Lwt package by making it optionally depend on itself.  The resulting total perspective vortex caused the solver to decide to take no action and terminate the universe.

Thomas has merged a fix, and I'll make the CI output a bit more paranoid to these exit codes (they pass the CI atm).

-anil

On 5 May 2014, at 11:52, Ian Wilkinson <ianw1@xxxxxx> wrote:

Hi Andre,

I had a similar experience and also went the Vagrant way.

I have something working with Test Kitchen and Vagrant, and
Fabric and boto for launching on AWS EC2. You can find it here...


ian


On 5 May 2014, at 11:11, André Næss <andre.naess@xxxxxxxxx> wrote:

Thanks for your quick response. I indeed have aspcud installed.

After fiddling around and making a mess and not getting anything to work I decided to start from scratch. Since I use vagrant that's easy. So I went through the installation instructions step by step:

1. Installed all the build essentials. Ran into an error here. Ran
   apt-get update and the problem resolved itself.
2. The add-apt-repository is not in the standard Ubuntu, but when
   trying to invoke it you are told to install
   python-software-properties, so:
3. apt-get install python-software-properties 
   add-apt-repository ppa:avsm/ppa
   sudo apt-get update
   apt-get install ocaml opam
       (At this step I noticed that aspcud was installed)
4. opam --version reports 1.1.1
5. opam init, answering yes to modify config files
6. eval `opam config env`
7. opam install mirage
The following actions will be performed:
 - install ocamlfind.1.4.0 [required by mirage]
 - install cmdliner.0.9.4 [required by mirage]
 - install ipaddr.2.4.0 [required by mirage]
 - install optcomp.1.5 [required by mirage]
 - install ounit.2.0.0 [required by mirage]
 - install re.1.2.1 [required by mirage]
 - install ocplib-endian.0.4 [required by mirage]
 - install cstruct.1.1.0 [required by mirage]
 - install io-page.1.1.1 [required by mirage]
 - install mirage-types.1.1.2 [required by mirage]
 - install mirage.1.1.2
 - install lwt.2.4.5 [required by mirage]
12 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] 
[ERROR] Aborting, as the following packages have a cyclic dependency:
 (No packages are listed, so this looks like a bug to me)

Oddly enough this worked fine yesterday, so I have no idea what has changed.

I have a Mac, but I figured I might get better results using a linux VM especially due to the tuntap and Xen requirements, and the fact that homebrew failed with a clink error when trying to install ocaml.

Perhaps a different Linux would be preferable? Since I'm just using it as a compilation station I don't really care what distro it is. What is the mirage team using, Debian?


On Mon, May 5, 2014 at 10:12 AM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
On 5 May 2014, at 08:42, André Næss <andre.naess@xxxxxxxxx> wrote:

I'm going through the Hello World examples on the MirageOS website and on the stackv4 example I'm having some problems. It seems that when I run "mirage configure --unix" the mirage command itself is uninstalled. After being very confused for a while, I accidentally hit CTRL-C while mirage was running because the mirage configure call was taking a long time. Doing so revealed a whole bunch of opam commands running in the background and upon inspection I realised they were downgrading most of the packages. Mirage itself is downgraded to 0.5.

Can you try to install the aspcud external solver via "apt-get install aspcud".  It should be available in both versions of Ubuntu you tried.  I promoted aspcud to a recommended dependency in the Debian package, but will file an Ubuntu bug to do the same as well.  I have an odd feeling that you already have aspcud though, since the error below reports an inconsistent result.

Some points I've noted as feedback from a total newbie:
- There is no verbose switch on the mirage command. When it hangs for a long while I get curious.

Yep, I've got a trivial local patch to fix this out that I'll push.   You can also just set the OPAMVERBOSE environment variable as a workaround.

- opam reports mirage at version 1.1.2, but mirage --version outputs 1.1.0.

Fixed locally too (really need to automate that in the build system).

- opam apparently isn't transactional, despite the mirage command failing I'm left with an utterly broken system?

OPAM does do error recovery by going back to the original patchset, but possibly not if the external solver failure is messing up its notion of the universe.  In normal use it will perform error recovery with the original set of packages being reinstalled.

- It doesn't seem like opam caches anything, I spend a lot of time waiting for downloads. Any simple way to speed this up?

Much of this has been improved in OPAM 1.2dev, which will be released soon-ish. e.g.:

I get a lot of these "external solver failed with inconsistentt result". Here's an example from running "opam install mirage" after it has been uninstalled by the stackv4 example:

$ opam install mirage
[WARNING] External solver failed with inconsistent return value. Request saved to "/home/vagrant/.opam/log/solver-error-29875-1.cudf"
Falling back to the internal heuristic.
The following actions will be performed:
 - remove tuntap.0.7.0
 - remove ocplib-endian.0.3
 - remove uri.1.6.0
 - remove fieldslib.109.20.03
 - remove ipaddr.2.2.0
 - remove optcomp.1.5
 - remove re.1.2.1
 - remove sexplib.110.01.00
 - remove stringext.0.0.1
 - remove type_conv.109.53.02
 - install cstruct.0.4.0 [required by mirage]
 - install lwt.2.4.3 [required by mirage]
 - install xenstore.1.0.0 [required by mirage]
 - install mirage.0.5.0
4 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 10 to remove
Do you want to continue ? [Y/n] 

Now, mirage 0.5 clearly isn't what I want, so I typically end up deleting the .opam folder and restarting from scratch. This is tedious to say the least.

I've tried this on Ubuntu 12.04 and 14.04 (both 64 bit).

Thanks for the useful feedback!

-a


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.