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

Reply via email to