From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2006-11-02 15:24:48


On Nov 2, 2006, at 2:18 PM, Ethan Mallove wrote:

> I need to compile a testsuite like this:
>
> shell_build_command = &join("configure --with-lib-mpi=",
> &test_prefix(), "gmake")

I don't quite understand what the resulting command is supposed to do...

configure --with-lib-mpi=/foo/bar/baz gmake

?

But if you really want that, can't you use:

shell_build_command = "configure --with-lib-mpi=&test_prefix() gmake"

> But MTT errors out with:
>
> Building Shell
> Evaluating: &join("configure --with-lib-mpi=", &test_prefix(),
> "gmake")
> Got name: test_prefix
> Got args:
> _do: $ret = MTT::Values::Functions::test_prefix()
> &test_prefix returning: my_mpi/install/dir
> String now: &join("configure --with-lib-mpi=", my_mpi/install/dir,
> "gmake")
> Got name: join
> Got args: "configure --with-lib-mpi=", my_mpi/install/dir, "gmake"
> _do: $ret = MTT::Values::Functions::join("configure --with-lib-
> mpi=", my_mpi/install/dir, "gmake")
> Bareword found where operator expected at (eval 33) line 1, near "/
> opt/mtt"
> (Missing operator before tt?)
> Bareword found where operator expected at (eval 33) line 1, near
> "1.3a1r12364"
> (Missing operator before a1r12364?)
> *** ERROR: Module aborted: MTT::Test::Build::Shell:Build: ***
> ERROR: Could not evaluate: $ret = MTT::Values::Functions::join
> ("configure --with-lib-mpi=", my_mpi/install/dir, "gmake"): syntax
> error at (eval 33) line 1, near "/opt/mtt"
>
> It looks like EvaluateString does not like the slashes,
> because something silly like this doesn't give me the syntax
> error:
>
> shell_build_command = &join("configure --with-lib-mpi=", &test_np
> (), "gmake")
>
> Note: Below is a patch to give Build.pm visibility of
> test_prefix(), though this will also produce the error:
>
> &join("configure --with-lib-mpi=", &shell("pwd"), "gmake")
>
> -Ethan
>
>
> Index: MTT/Test/Build.pm
> ===================================================================
> --- MTT/Test/Build.pm (revision 410)
> +++ MTT/Test/Build.pm (working copy)
> @@ -251,6 +251,10 @@
> }
> }
>
> + # Some test suites require knowledge of where
> + # the MPI library is at the build stage
> + $MTT::Test::Run::test_prefix = $mpi_install->{installdir};
> +
> # Process setenv, unsetenv, prepend-path, and append-path -- for
> # both the MPI that we're building with and the section of the
> ini
> # file that we're building.
> _______________________________________________
> mtt-users mailing list
> mtt-users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems