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-us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
--
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems