[ofa-general] Compiled IB packages
Vladimir Sokolovsky
vlad at mellanox.co.il
Wed Sep 10 07:14:18 PDT 2008
Christopher Tanner wrote:
> Vladimir -
>
> Good catch on the linux headers version - I fixed that now. The problem
> persisted after fixing the headers... but I finally figured out what the
> issues were. On the configure line:
>
> a) the --kernel-sources option needs the path to the linux HEADERS
> (linux-headers-<ver>), not the linux SOURCE (linux-source-<ver>).
> Terminology there is confusing...
>
If you compiling for the running kernel then configure will find kernel sources using /lib/modules/`uname -r`/build link.
So, you don't have to pass '--kernel-sources' and '--kernel'.
> b) If I didn't specify anything for the --modules-dir option, it
> defaults to /lib/modules/2.6.24-16-server/updates. I don't know what the
> 'updates' gets appended onto the end, but that is not correct. So I had
> to specify --modules-dir=/lib/modules/2.6.24-16-server
Why you think that updates is wrong?
modprobe works with /lib/modules/`uname -r`/updates directory in the following way:
if kernel module with the same name is present under /lib/modules/`uname -r`/kernel and
under /lib/modules/`uname -r`/updates then the module from updates will be loaded.
>
> It compiled and installed just fine!
>
> My final question - how do I install the kernel modules on the rest of
> the nodes? The source was compiled in the /home directory, which is
> shared to all nodes via NFS. However, the kernel headers are NOT shared
> to the rest of the nodes. Do you recommend I:
>
> a) Install the linux headers on all of the nodes and execute 'make
> install' on all nodes
> b) Look at where the modules installed to (from the make install output)
> and copy the files manually
>
Both options are good.
Note, if you use option b) then you need to run "depmod" after copying kernel modules.
Regards,
Vladimir
> Thanks!
>
> -------------------------------------------
> Chris Tanner
> Space Systems Design Lab
> Georgia Institute of Technology
> christopher.tanner at gatech.edu
> -------------------------------------------
>
>
>
> On Sep 10, 2008, at 3:28 AM, Vladimir Sokolovsky wrote:
>
>> Hi,
>>> From the log file, I see the mismatch between the sources you are
>> passing to configure command and autoconf.h/auto.conf below:
>>
>> /usr/src/linux-headers-2.6.24-19-generic/include/linux/autoconf.h
>> /usr/src/linux-headers-2.6.24-19-generic/include/config/auto.conf
>>
>>> From the log file:
>> Kernel version: 2.6.24-16-server
>> Modules directory: //lib/modules/2.6.24-16-server/updates
>> Kernel sources: /usr/src/linux-source-2.6.24
>>
>> Check that you have corresponding (matching the running kernel)
>> linux-headers package installed and then you don't have to pass
>> --kernel-sources and --kernel parameters to the configure script.
>>
>> E.g.
>> for kernel 2.6.24-19-generic it is linux-headers-2.6.24-19-generic
>>
>> Regards,
>> Vladimir
>>
>> On Tue, 2008-09-09 at 14:53 -0400, Christopher Tanner wrote:
>>> Thanks Vladimir - very helpful. However, I'm running into a problem
>>> with compiling the ofa package. First, I had to specify the source
>>> location on the command line (Ubuntu puts it in a different place than
>>> RedHat or SUSE):
>>>
>>> $ ./configure --kernel-sources=/usr/src/linux-source-2.6.24 ... (other
>>> stuff)
>>>
>>> I'm getting this error:
>>>
>>> ERROR: Kernel configuration is invalid.
>>> include/linux/autoconf.h or include/config/auto.conf are
>>> missing.
>>> Run 'make oldconfig && make prepare' on kernel src to fix it.
>>>
>>> This is confusing b/c both of those files exist.
>>> $ locate autoconf.h
>>> /usr/src/linux-headers-2.6.24-19-generic/include/linux/autoconf.h
>>>
>>> $ locate auto.conf
>>> /usr/src/linux-headers-2.6.24-19-generic/include/config/auto.conf
>>>
>>> There's a whole bunch more errors that I assume spawn because of this
>>> initial error. The output from 'make' is attached (it's pretty long).
>>> Let me know what you think. Thanks!
>>>
>>> -------------------------------------------
>>> Chris Tanner
>>> Space Systems Design Lab
>>> Georgia Institute of Technology
>>> christopher.tanner at gatech.edu
>>> -------------------------------------------
>>>
>>>
>>>
>>> On Sep 9, 2008, at 11:03 AM, Vladimir Sokolovsky wrote:
>>>
>>>> Christopher Tanner wrote:
>>>>> I am setting up a 16-node (homogeneous) cluster running Ubuntu 8.04
>>>>> server with Mellanox Infiniband cards. I downloaded (from the
>>>>> OpenFabrics website), compiled, and installed the following IB
>>>>> packages on the master node into the /usr/local/lib directory. The /
>>>>> usr/local directory is being shared to all of the nodes via NFS.
>>>>> All packages seemed to compile and install fine.
>>>>> libibverbs
>>>>> librdmacm
>>>>> libibcm
>>>>> libipathverbs
>>>>> dapl
>>>>> compat-dapl
>>>>> libmlx4
>>>>> libmthca
>>>>> libcxgb3
>>>>> libibcommon
>>>>> libibumad
>>>>> libibmad
>>>>> opensm
>>>>> infiniband-diags
>>>>> I have a few questions:
>>>>> a) Do I need to run 'make install' on each node or just the master
>>>>> node? All of the libraries in /usr/local/lib are visible to all
>>>>> nodes... Stated another way, does 'make install' put files
>>>>> elsewhere beside the /usr/local/lib directory? Does it alter OS
>>>>> configuration files to tell it to look for certain files in /usr/
>>>>> local/lib?
>>>>
>>>> No, all the packages above will put their files under /usr/local
>>>>
>>>>> b) I know I need to load the IB kernel modules (mlx4_core,
>>>>> mlx4_ib, rdma_ucm, ib_core, ib_mad, ib_mthca, ib_umad, ib_uverbs)
>>>>> in order for the IB cards to work. Are these compiled and installed
>>>>> with the above packages? Where does the kernel know where to look
>>>>> for modules? (Sorry, this question is very similar to the first one).
>>>>
>>>> The packages above are user space libraries/binaries. To install
>>>> kernel
>>>> modules you should download the latest version of the ofa_1_4_kernel
>>>> tgz file from:
>>>>
>>>> http://www.openfabrics.org/downloads/ofa_1_4_kernel/
>>>> To install, run:
>>>> ./configure --with-core-mod --with-user_mad-mod --with-user_access-
>>>> mod --with-addr_trans-mod --with-mthca-mod --with-mthca_debug-mod --
>>>> with-mlx4-mod --with-mlx4_en-mod --with-mlx4_debug-mod --with-cxgb3-
>>>> mod --with-ehca-mod --with-ipoib-mod --with-ipoib_debug-mod (... ,
>>>> see --help)
>>>> make
>>>> make install
>>>>
>>>>
>>>>> c) The OFED software stack contains some stuff that isn't available
>>>>> for source download (e.g. ib-bonding, ibsim, libsdp). Are these
>>>>> necessary for the IB network to operate correctly? Since I'm
>>>>> running Ubuntu, obviously the src.rpm file won't work...
>>>>
>>>> All OFED tgz files that are available under:
>>>> http://www.openfabrics.org/~vlad/ofed_1_4/SOURCES/
>>>>
>>>> ib-bonding source RPM can be downloaded from (you can open it to get
>>>> tgz file using cpio, if you need):
>>>> http://www.openfabrics.org/~monis/ofed_1_4/
>>>>
>>>> This packages are not necessary for the IB network to operate
>>>> correctly, but
>>>> it depends on what are you planning to do.
>>>>
>>>> Regards,
>>>> Vladimir
>>>>
>>>>> Thanks to all for you help. Previous responses regarding issues
>>>>> with OpenSM worked great.
>>>>> -------------------------------------------
>>>>> Chris Tanner
>>>>> Space Systems Design Lab
>>>>> Georgia Institute of Technology
>>>>> christopher.tanner at gatech.edu
>>>>> -------------------------------------------
>>>
>
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit
> http://openib.org/mailman/listinfo/openib-general
More information about the general
mailing list