Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Devel mailing list

Subject: Re: [MTT devel] MTT on Windows
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-03-11 07:14:13


(moving to mtt-devel)

Shiqing --

In looking at your patch, I see a few nits. See below.

On Feb 26, 2009, at 12:56 PM, Shiqing Fan wrote:

> Index: lib/Filesys/DiskFree.pm
>
> ===================================================================
> --- lib/Filesys/DiskFree.pm (revision 1271)
> +++ lib/Filesys/DiskFree.pm (working copy)
> @@ -29,6 +29,11 @@
> 'inodes' => "df -Pi",
> 'format' => "linuxish",
> },
> + 'cygwin' => {
> + 'blocks' => "df -P",
> + 'inodes' => "df -Pi",
> + 'format' => "linuxish",
> + },
> 'solaris' => {
> 'blocks' => "df -k",
> 'inodes' => "df -k -o i -F ufs",
> Index: lib/MTT/Common/GNU_Install.pm
> ===================================================================
> --- lib/MTT/Common/GNU_Install.pm (revision 1271)
> +++ lib/MTT/Common/GNU_Install.pm (working copy)
> @@ -43,7 +43,45 @@
> my $ret;
> $ret->{test_result} = MTT::Values::FAIL;
> $ret->{exit_status} = 0;
> +
> + if (`uname -o` == "Cygwin") {

Can we think of a better test here? Will we always be running MTT
under Cygwin?

Should this code rather be in a different .pm and the user selects
which one to use via the .ini file?

>
> + # On windows, do the following steps:
> + # [ ] cmake -G "generator" -D configure_arguments
> source_path
> + # [ ] devenv OpenMPI.sln /build
>
> + # generate Visual Studio solution files
> + $x = _do_step($config,
> + "cmake $config->{configure_arguments} -D
> CMAKE_INSTALL_PREFIX:PATH=$config->{installdir} .", 1);
> +
> + # Overlapping keys in $x override $ret
> + %$ret = (%$ret, %$x);
> + return $ret if (!MTT::DoCommand::wsuccess($ret-
> >{exit_status}));
> +
> + if (exists($ENV{LD_LIBRARY_PATH})) {
> + $ENV{LD_LIBRARY_PATH} = "$config->{libdir}:
> $ENV{LD_LIBRARY_PATH}";
> + } else {
> + $ENV{LD_LIBRARY_PATH} = "$config->{libdir}";
> + }
> +
> + # compile the whole solution
> + $x = _do_step($config, "devenv.com OpenMPI.sln /build
> debug", 1);
> + %$ret = (%$ret, %$x);
> + return $ret if (!MTT::DoCommand::wsuccess($ret-
> >{exit_status}));
> +
> + # install, not working yet

What does this comment mean? ^^^

>
> + $x = _do_step($config, "devenv INSTALL.vcproj /build", 1);
> + %$ret = (%$ret, %$x);
> + return $ret if (!MTT::DoCommand::wsuccess($ret-
> >{exit_status}));
> +
> + # All done!
> + $ret->{test_result} = MTT::Values::PASS;
> + $ret->{result_message} = "Success";
> + Debug("Build was a success\n");
> +
> + return $ret;
> +
> + }
> +
> # If the user does not use --prefix on their own, default
> # to $installdir
> my $prefix;
> @@ -224,5 +262,3 @@
> my ($cmd, $step) = @_;
> return MTT::DoCommand::RunStep(1, $cmd, 30, undef, undef, $step);
> }
> -
> -1;

Don't remove the "1;" at the end of the file...

>
> Index: lib/MTT/Defaults.pm
> ===================================================================
> --- lib/MTT/Defaults.pm (revision 1271)
> +++ lib/MTT/Defaults.pm (working copy)
> @@ -39,7 +39,7 @@
> },
>
> known_compiler_names => [ "gnu", "pgi", "ibm", "intel", "kai",
> "absoft",
> - "pathscale", "sun", "none",
> "unknown" ],
> + "pathscale", "sun", "microsoft",
> "none", "unknown" ],
> known_resource_manager_names => [ "slurm", "tm", "loadleveler",
> "n1ge",
> "alps", "none", "unknown" ],
> known_network_names => [ "tcp", "udp", "ethernet", "gm", "mx",
> "verbs",

-- 
Jeff Squyres
Cisco Systems