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

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

Ok, I just retried it on Debian 7.4 with the same result. I'll wait for it's resolution and go through some OCaml tutorials in the meantime, it's been a few years since I last played with the language :)

On Mon, May 5, 2014 at 12:32 PM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
This looks like a very recently introduced bug in the package dependencies. Loius is taking a look (I can look myself this afternoon).

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!


MirageOS-devel mailing list

MirageOS-devel mailing list



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