Hi Alfonso, I couldn't even compile your code directly, is it the one you're using ? It does not even makes sense... can you send the code you are using, or at least a working portion of it that contains MPI_LOOKUP_NAME with which we can reproduce your error ?
I have the same problem also if I don't use the MPI_LOOKUP_NAME but by the port_name recovered by the MPI_open_port.
So maybe the problem is not only on MPI_LOOKUP_NAME... By the error you sent (MPI_ERR_NAME) the name was not found (or is wrong) and by your code it's not even initialized (ie. MPI_MAX_PORT_NAME bytes of rubbish)
I have seen that the address supplied by the system to the server is always the same 0.1.0:2000 , I think that thi is very strange.
Operating systems can choose whatever port they feel like. It may be the lowest port MPI can get for you, or the lowest port the OS can get for you and it didn't feel the necessity to allocate a different port, maybe because you're alone in the system or maybe because it felt like reserving that port for you was cool.
If I write an example where I use the MPI routines that are in the MPI protocol, they have to work!! Is a mistake to say that the same program can work and not dependently on the implementation.
If you write a MPI implementation, yes. But if you rely on the smallest differences that MPICH2 have to other MPI implementations you can write unportable code as well as you can do with C++ and even Perl and Java.
Then this example has to work in MPICH2 and also in OPEN_MPI. If this doesn't happen this means that Open_MPI has some problems...
Wrong. I cannot force GCC to compile any code I throw at it, even being plain C code. Even between different GCC versions you're not guaranteed to have no warnings. "IF" one write a completely generic code, folowing only the standards, one could assume any compiler would work. And even on that case, I would still not expect to work "as is". Unfortunatelly the real world is not as beautiful as we'd like.
The software has to be independent from the implementation that you use.
Up to some point, yes. But MPICH2 and OpenMPI can (and probably will) make more things that just the basic because it's cool to have better solutions that those the standard defines. It happens with databases, programming languages implementations, unix distributions, web pages etc etc. cheers, --renato