[mpich-discuss] Build in Solaris 10 x86 HELP...

Dave Goodell goodell at mcs.anl.gov
Tue Nov 8 13:03:13 CST 2011


It looks like the assembler on your machine doesn't like some of the enhanced memcpy code that we've written into nemesis.  This appears to be a Solaris on x86 machine, and the configure script decides that x86 assembly is supported by the assembler by using a small test program.  Unfortunately, the assembler does not support a more complicated hunk of inline assembly listed here:

http://trac.mcs.anl.gov/projects/mpich2/browser/mpich2/tags/release/mpich2-1.4.1p1/src/mpid/ch3/channels/nemesis/nemesis/include/mpid_nem_memdefs.h

In the short run, you should be able to get unstuck by editing 12 of that file to read "#if 0" instead.  If the relevant section of the configure.in file was written correctly then there would be other easy ways to get around this, but unfortunately it appears to be buggy.

A heavier weight option would be to upgrade your GCC and assembler packages so that the fancier assembly code is understood correctly.  I personally wouldn't bother with this, but it should work.

In the long run we should probably make the configure test more robust, and also add a "--disable-asm-memcpy" option or similar so that no code editing is required.  I'll add a ticket for this in trac.

-Dave

On Nov 8, 2011, at 11:57 AM CST, renato at dokfile.com wrote:

> Hi All,
> 
> I am tring build MPICH2 in Solaris 10, and I dont have success.
> 
> Fist I have problems in configuration, now I put it to work, but now I have problems in build.
> 
> Whell, this is what I did ->
> 
> ./configure CC=gcc CXX=g++ --disable-f77 --disable-fc --prefix=/MPICH/mpich2-install/ 2>&1 | tee c.txt
> 
> The result is OK, see ->
> 
> ..
> Configuration completed.
> -bash-3.00#
> 
> Then, I did make ->
> 
> make 2>&1 | tee m.txt
> 
> Assembler: dataloop.c
>         "/var/tmp//ccuee48e.s", line 493 : Syntax error
>         Near line: "mov $PREFETCHBLOCK/16, %eax"
>         "/var/tmp//ccuee48e.s", line 501 : Syntax error
>         Near line: "mov $PREFETCHBLOCK/8, %eax"
> make[5]: ** [dataloop.o] Erro 1
> make[5]: Saindo do diretório `/MPICH/Source/mpich2-1.4.1p1/src/mpid/common/datatype/dataloop'
> make[4]: ** [all-redirect] Erro 2
> make[4]: Saindo do diretório `/MPICH/Source/mpich2-1.4.1p1/src/mpid/common/datatype'
> make[3]: ** [all-redirect] Erro 2
> make[3]: Saindo do diretório `/MPICH/Source/mpich2-1.4.1p1/src/mpid/common'
> make[2]: ** [all-redirect] Erro 2
> make[2]: Saindo do diretório `/MPICH/Source/mpich2-1.4.1p1/src/mpid'
> make[1]: ** [all-redirect] Erro 2
> make[1]: Saindo do diretório `/MPICH/Source/mpich2-1.4.1p1/src'
> make: ** [all-redirect] Erro 2
> -bash-3.00#
> 
> And error.
> 
> What is wrong..?
> 
> Thank you...
> 
> 
> <config.log><c.txt><m.txt><config.log>_______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss



More information about the mpich-discuss mailing list