[ofa-general] Re: [opensm] bugs in build system
Sasha Khapyorsky
sashak at voltaire.com
Tue Sep 4 08:44:52 PDT 2007
Hi 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?
>
> 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.
Thanks for reporting. Hope I will find time to look at this.
> 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.
I agree.
Sasha
More information about the general
mailing list