During make I get several instruction errors for push, pushl, pop, and popl at atomic-asm.S , which is included indirectly in asm.c . For example, for the first reported "Error", the instruction
pushl %ebp apparently generates the error message atomic-asm.S:5: Error: invalid instruction suffix for `push' There are several more Error messages like that. --- And the instruction push %ebx apparently generates the error message atomic-asm.S:64: Error: operand type mismatch for `push' --- And the instruction pop %ebx apparently generates the error message atomic-asm.S:68: Error: operand type mismatch for `pop' --- And the instruction popl %ebp apparently generates the error message atomic-asm.S:75: Error: invalid instruction suffix for `pop' ----------------------------------------------- It seems worth noting that make does a symbolic link involving "atomic-asm.S" immediately before the processing of this file, which generates the errors, but the configure output reports checking whether ln -s works... no, using cp -p as if symbolic links will not be used. ---------------------------------------- The configure output was generated by executing the script file " mpiconfigure" via command *$ mpiconfigure &> openmpi-1.6.5_configure.out* "mpiconfigure" executes *export LD_LIBRARY_PATH=/c/MinGW64/lib/gcc/x86_64-w64-mingw32/4.6.1* just before executing ./configure ... so that I won't forget to set LD_LIBRARY_PATH . The make command used was *$ make -j 2 &> make_-j_2.out* I am using the Mingw MSYS 1.0 command-window/bash in a Windows 7 environment for processing the commands. The compilers are Mingw 64-bit as reported in config.log ; these are not "official" Mingw compiler versions, but supposedly are very nearly so -- see http://tdm-gcc.tdragon.net/ for details: configure:5375: gcc --version >&5 gcc.exe (tdm64-1) 4.6.1 configure:15880: g++ --version >&5 g++.exe (tdm64-1) 4.6.1 configure:28191: gfortran.exe --version >&5 GNU Fortran (tdm64-1) 4.6.1 The processor is an Intel Sandybridge i5, with capability for parallel execution of four threads. My guess is that these errors are due simply to a mismatch between the assembly instructions gcc can understand and the assembly instructions that OpenMPI assumes gcc can understand. Is there some flag I can set to tell gcc that a particular assembly language (dialect) is being used? And, if so, can I set it for make without having to re-run configure? -- *- Richard Haney* * *
<<attachment: mpiconfigure.zip>>
<<attachment: openmpi-1.6.5_configure.zip>>
<<attachment: config.zip>>
<<attachment: make_-j_2.zip>>