On 9/4/07, Sasha Khapyorsky <[EMAIL PROTECTED]> wrote: > Hi again, Eitan, > > On 17:02 Sun 02 Sep , Eitan Zahavi wrote: > > Hi Sasha, > > > > For some reason OpenSM (and the required management libs) do not build > > correctly when > > I use manual autogen.sh, configure --prefix=/tmp/ez/usr ; make; make > > install mode. > > > > It seems the build system is probably broken as it relies on fixed > > paths? > > It is not, but it relies to invalid paths like -I.../include/infiniband > when in the code '#include <infiniband/file.h>' is used. > > > OK 3. cd management/libibumad; autogen.sh; > > FAIL 4. ./configure --prefix=/tmp/ez/usr > > checking for sys_read_string in -libcommon... no > > configure: error: sys_read_string() not found. libibumad requires > > libibcommon. > > > > To overcome this I manually added the --disable-libcheck > > ./configure --prefix=/tmp/ez/usr --disable-libcheck > > I do not understand why after installing the common lib I still get this > > error? > > Isn't the search path should include the <prefix>/lib ??? > > Seems it is AC_CHECK_LIB() feature (ugh - I hate autotools mess :)) > > I'm not really sure such checks should be there. libibcommon library is > part of our project and not "external" library.
Though it currently is a separate library though and part of separate package/rpm. > > FAIL 5. make > > Make fails as it does not find the infiniband/common.h > > Wrong include path in Makefile.am - it uses include/infiniband. > > > To overcome this I manually added -I<prefix>/include .... > > make CFLAGS="-I/tmp/ez/usr/include" > > > > OK 6. make install > > --------------- OPENSM ------------------ > > OK 7. cd management/opensm; autogen.sh; > > FAIL 8. configure --prefix=/tmp/ez/usr > > checking for umad_init in -libumad... no > > configure: error: umad_init() not found. libosmvendor of type openib > > requires libibumad. > > configure: error: /bin/sh './configure' failed for libvendor > > > > To overcome this I manually added the --disable-libcheck > > ./configure --prefix=/tmp/ez/usr --disable-libcheck > > This problem is same as the above: lib path for linking should use the > > <prefix>/lib. > > > > FAIL 9. make > > Here again the include path is missing the <prefix>/include: > > > > ./../include/vendor/osm_vendor_ibumad.h:44:31: infiniband/common.h: No > > such file or directory > > ./../include/vendor/osm_vendor_ibumad.h:45:29: infiniband/umad.h: No > > such file or directory > > Wrong OSMV_INCLUDES definition (it uses paths include/infiniband ). > > > To overcome this I manually added -I<prefix>/include .... > > make CFLAGS="-I/tmp/ez/usr/include" > > > > But this is not enough as the linker fail: > > /usr/bin/ld: cannot find -libumad > > It seems to be buggy opensm_LDADD in Makefile.am > > > To overcome this I had to add -L<prefix>/lib .... > > make CFLAGS="-I/tmp/ez/usr/include" LDFLAGS="-L/tmp/ez/usr/lib -libumad > > -libcommon" > > > > OK 10. make install > > > > I hope the above issues could be fixed such that the installation would > > be simpler. > > Could you test the patch please (you still need to use > '--disable-libcheck' with ./configure)? Thanks. > > Sasha > > > diff --git a/libibumad/Makefile.am b/libibumad/Makefile.am > index 48868e7..7e82590 100644 > --- a/libibumad/Makefile.am > +++ b/libibumad/Makefile.am > @@ -2,7 +2,7 @@ > SUBDIRS = . > > INCLUDES = -I$(srcdir)/include/infiniband \ > - -I$(srcdir)/../libibcommon/include/infiniband > + -I$(srcdir)/../libibcommon/include > > man_MANS = man/umad_debug.3 man/umad_get_ca.3 \ > man/umad_get_ca_portguids.3 man/umad_get_cas_names.3 \ > diff --git a/opensm/config/osmvsel.m4 b/opensm/config/osmvsel.m4 > index 47ad36f..97d5a9e 100644 > --- a/opensm/config/osmvsel.m4 > +++ b/opensm/config/osmvsel.m4 > @@ -61,11 +61,11 @@ with_sim="/usr") > dnl based on the with_osmv we can try the vendor flag > if test $with_osmv = "openib"; then > OSMV_CFLAGS="-DOSM_VENDOR_INTF_OPENIB" > - OSMV_INCLUDES="-I\$(srcdir)/../include > -I\$(srcdir)/../../libibcommon/include/infiniband > -I\$(srcdir)/../../libibumad/include/infiniband" > - if test "x$with_umad_libs" = "x"; then > - OSMV_LDADD="-libumad" > - else > - OSMV_LDADD="-L$with_umad_libs -libumad" > + OSMV_INCLUDES="-I\$(srcdir)/../include > -I\$(srcdir)/../../libibcommon/include -I\$(srcdir)/../../libibumad/include" > + OSMV_LDADD="-L\$(libdir) -libumad -libcommon" > + > + if test "x$with_umad_libs" != "x"; then > + OSMV_LDADD="-L$with_umad_libs $OSMV_LDADD" > fi > > if test "x$with_umad_includes" != "x"; then > _______________________________________________ > general mailing list > [email protected] > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general > > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general > _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
