From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2006-11-02 17:36:59


On Thu, Nov/02/2006 03:24:48PM, Jeff Squyres wrote:
> 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"
>

That doesn't work for me:

Building Shell
Evaluating: "configure --with-mpi-dir=&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: "configure
--with-mpi-dir=my_mpi/install/dir
gmake"
No more functions left; final: "configure
--with-mpi-dir=my_mpi/install/dir
gmake"
Running command: /tmp/gaWTMDvUvr
OUT:configure: WARNING: you should use --build, --host,
--target
OUT:checking build system type... Invalid configuration
`gmake': machine `gmake' not recognized
OUT:configure: error: /bin/bash ./config.sub gmake failed
Command complete, exit status: 1
Writing built file:
/opt/mtt/netpipe/i386/32/trunk/installs/ompi-nightly-trunk/solaris_i386_32/1.3a1r12364/tests/imb_performance/PMB-2.2/test_built.ini
*** WARNING: Failed to build test [test build: imb
performance]: Shell: command failed "configure
--with-mpi-dir=my_mpi/install/dir
gmake"

-Ethan

>
>
> > 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
>
> _______________________________________________
> mtt-users mailing list
> mtt-users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users