We seem to have a problem on the trunk this morning. I am building on a
platform with the following configuration:

with_threads=no
enable_dlopen=no
enable_pty_support=no
with_tm=/opt/PBS
LDFLAGS=-L/opt/PBS/lib64
with_openib=/opt/ofed
with_memory_manager=no
enable_mem_debug=yes
enable_mem_profile=no
enable_debug_symbols=yes
enable_binaries=yes
with_devel_headers=yes
enable_heterogeneous=no
enable_picky=yes

The compile errors out in the OpenIB BTL with the following error:

btl_openib_proc.c: In function `mca_btl_openib_proc_create':
btl_openib_proc.c:159: error: `i' undeclared (first use in this function)
btl_openib_proc.c:159: error: (Each undeclared identifier is reported only
once
btl_openib_proc.c:159: error: for each function it appears in.)
make[2]: *** [btl_openib_proc.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

When I look at the code, the problem is the following #if:

#if !defined(WORDS_BIGENDIAN) && OMPI_ENABLE_HETEROGENEOUS_SUPPORT
    size_t i;
#endif

Yet the code will ALWAYS use that variable to unpack all the ports. I
removed the #if to clear the problem, but before committing the change, I
wanted to ask why someone thought this test needed to be in the code.

Should the entire loop unpacking all the ports be similarly protected, or
was the protection around the variable declaration simply an error?

Thanks
Ralph


Reply via email to