Interesting. If I add the Fortran compiler as a new entry through the GUI, CMake wipes it. If I use the option to specify the compiler paths manually on Configure, I can add the Fortran compiler in that way and it works.

Then there's a compiler error. In orte\mca\odls\process\odls_process_module.c, right at the top, there's

static bool odls_process_child_died( pid_t pid, unsigned int timeout,
                                     int* exit_status )
{
    int error;
    HANDLE handle = OpenProcess( PROCESS_TERMINATE | SYNCHRONIZE, FALSE,
                                 (DWORD)pid );
    if( 0 == child->pid || INVALID_HANDLE_VALUE == handle ) {
        error = GetLastError();
        /* Let's suppose that the process dissapear ... by now */
        return true;
    }
    CloseHandle(handle);
    /* The child didn't die, so return false */
    return false;
}

This line "0 == child->pid" causes a compiler error that tanks the build, because child doesn't exist in that scope. Should that just be "0 == pid", seeing as pid is the argument passed to the function anyway? The build seems fine with this fix.

Finally, there's an installation error on mpi_portable_platform.h. That file isn't generated as part of the build, and the installation command is around line 150 of ompi/CMakeLists.txt. If you comment out the installation of that file the installation works correctly.

I used the 1.5a1r23092 snapshot for this.

Now to make sure it works...

Damien

On 10/05/2010 4:50 AM, Shiqing Fan wrote:


Hi,

Normally, that means a wrong path or incompatible compiler version, e.g. 32 bit vs 64 bit.


Shiqing

On 2010-5-7 6:54 PM, Damien wrote:
nd 2.8.1. In the CMake GUI, I checked the OMPI_WANT_F77_BINDINGS option, and added a FilePath for CMAKE_Fortran_COMPILER of C:/Program Files (x86)/Intel/Compiler/11.1/065/bin/ia32/ifort.exe. When I re-run the Configure, CMake wipes the CMAKE_Fortran_COMPILER variable and complains about a missing Fortran compiler. Any suggestions?


Reply via email to