I've ran into an issue compiling openib's Dynamic SL support on a
RH 6.2 based system with the Oracle Studio compilers.
Turns out if I compile btl_openib_connect_sl.c with the Oracle
Studio compilers with the "-g" option the compiler compiles some
static inline functions in ib_types.h standalone (as opposed to
ignoring the functions since they are not called in the
btl_openib_connect_sl.c source). This creates a dependency on the
symbol ib_error_str in btl_openib_connect_sl.o . Note this symbol
is defined in libosmcomp.so.
My question is should btl_openib_connect_sl.c be linking to
libosmcomp.so since btl_openib_connect_sl.c is including ib_types.h
or is there an assumption being made that btl_openib_connect_sl.c is
just using macros/defines provided by the header and nothing
requiring access to libosmcomp.so?
I ask this because I can make my original issue go away on RH 5.X
systems if I link in libosmcomp.so however, this library doesn't
exist on RH 6.2 systems without RH 5 compat headers package and
doesn't have a 32 bit version on RH 6.2 systems at all. The point
is if I try to fix the libosmcomp.so dependency by doing an
AC_CHECK_LIB that RH 6.X system will actually stop configuring in
Dynamic SL.