spirali / kaira

Main repository of project Kaira
http://verif.cs.vsb.cz/kaira
GNU General Public License v3.0
5 stars 8 forks source link

Added installation instructions for Arch Linux #1

Closed elieux closed 10 years ago

elieux commented 10 years ago

I have compiled a short installation guide for Arch-based distributions. As for MPI implementation, I followed your choice of MPICH, but if ease of installation is to be preferred over consistency across distributions, it may be better to go with OpenMP, which is available as a binary package. I can test that combination on Arch, if you want.

Although the configuration script didn't complain, I'm not sure about octave and mhash, because I couldn't find any -dev packages. If you tell me how to test if the packages are sufficient for Kaira, I will do that.

I hope I don't have any typos in the package names.

spirali commented 10 years ago

In the following commit I have made some tiny tweaks of this change (I removed waf from installed programs, because it is already shipped with Kaira and I split a long line because it does not fit into asciidoc html template, after running ./waf you can see generated html file in build directory)

For testing purpose, there is "tests" directory and "python alltests.py" should pass on a fully installed Kaira.

elieux commented 10 years ago

I ran the tests and I got one failure, in MpiBuildTest. kaira-arch-testrun1

I noticed the tests require an X server. Is that by design, or should I open an issue for that?

spirali commented 10 years ago

What is your current MPI implementation? According to my testing this bug may be related with OpenMPI.

Tests build complete programs from .proj files to binary executables. It uses gui -> ptp -> gcc/make. We have a command line interface for GUI (building functions only) but it currently imports a big part of GUI including gtk. It would be quite a lot of work to separate it and I am not sure if it is worth it. So a dependency on X is not by design but we get used to live with it:)

elieux commented 10 years ago

What is your current MPI implementation?

I'm still using MPICH.

spirali commented 10 years ago

Can you please in directory tests/projects/rpc/server run:

$ make mpi
$ CASERVER_PORT=40000 mpirun -np 4 ./rpc_server_mpi

It should do nothing (wait for connections) or write an error.

elieux commented 10 years ago

Did nothing.

spirali commented 10 years ago

Thank you. Please, while server is running, try to run in directory tests/projects/rpc

$ CACLIENT_HOST=localhost:40000 ./main
elieux commented 10 years ago

Ran it several times, output was this every time:

2000 31 31 9000 29700

I ran the tests again and the error was still there. I dug a little into the test code and after increasing the delay in Project.start_server, the test passed. Thank you for your help.

spirali commented 10 years ago

Thank you for your report. What is a sufficient delay value in your configuration?

elieux commented 10 years ago

So, I was finally able to figure it out. I couldn't reliably run the test because the rpc_server_mpi process was staying alive after each successful test run, and was causing the next one to fail.

Sufficient delay for my setup turned out to be 1 second.

spirali commented 10 years ago

Thank you, I have increased sleep time to 1 second in the master branch.