[ofa-general] [opensm] bugs in build system

Eitan Zahavi eitan at mellanox.co.il
Sun Sep 2 07:02:25 PDT 2007


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?

Here is what I do, errors are included in this list:
OK 1. git clone .... 
--------------- LIBIBCOMMON ------------------
OK 2. cd management/libibcommon; autogen.sh; ./configure
--prefix=/tmp/ez/usr ; make ; make install
--------------- LIBIBUMAD ------------------
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 ???

FAIL 5. make
Make fails as it does not find the infiniband/common.h

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

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

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.

Also I propose removing the un-needed extra levels of autotools inside
OpenSM code as there is no need/reason to have it eb declared as 5
different projects resulting with "configure" time longer than the
compile time. 

Thanks

Eitan


Eitan Zahavi
Senior Engineering Director, Software Architect
Mellanox Technologies LTD
Tel:+972-4-9097208
Fax:+972-4-9593245
P.O. Box 586 Yokneam 20692 ISRAEL


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070902/e74f2cec/attachment.html>


More information about the general mailing list