<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi there,<br>
    <br>
    We run lustre 2.6/2.7 on our Centos 6.6 (servers) and 7 (clients)
    cluster. We have a few webservers running Debian that need to access
    the storage. I followed the procedure given by Thomas Stibor about
    Ubuntu 14 last year.<br>
    <br>
    I could successfully compile the binaries and modules after some
    digging. He also left an already compiled lustre 2.7.63 and modules
    for kernel 3.16.0-4 online.<br>
    <br>
    If I install his binaries, it works well. If I install the one
    generated by the procedure, the modules don't load and a weird thing
    happen. Running dmesg warns me about one surprising thing :<br>
    <br>
     > With his packages<br>
    [212417.535369] LNet: HW CPU cores: 1, npartitions: 1<br>
    [212417.538430] alg: No test for adler32 (adler32-zlib)<br>
    [212417.538456] alg: No test for crc32 (crc32-table)<br>
    [212425.548907] Lustre: Lustre: Build Version:<b>
      v2_7_60_0-ge686e57-CHANGED-3.16.0-4-amd64</b><br>
    [212425.565330] LNet: Added LNI 172.27.7.118@tcp1 [8/256/0/180]<br>
    [212425.565354] LNet: Accept secure, port 988<br>
    [212425.595531] Lustre: Mounted lustre-client<br>
    <br>
    > With mine<br>
    [209942.090874] LNet: HW CPU cores: 1, npartitions: 1<br>
    [209942.092902] alg: No test for adler32 (adler32-zlib)<br>
    [209950.092501] lnet: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    [209950.093589] lvfs: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    [209950.094634] obdclass: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    [209950.098595] Lustre: Lustre: Build Version: <b>v2_3_64_0-g6e62c21-CHANGED-3.9.0</b><br>
    [209950.099999] ptlrpc: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    [209950.104615] ksocklnd: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    [209950.105237] LNetError:
    845:0:(linux-tcpip.c:82:libcfs_ipif_query()) Can't get flags for
    interface eth0<br>
    [209950.105862] LNetError: 845:0:(socklnd.c:2824:ksocknal_startup())
    Can't get interface eth0 info: -515<br>
    [209951.104194] LNetError: 105-4: Error -100 starting up LNI tcp<br>
    [209951.104852] LustreError:
    845:0:(events.c:566:ptlrpc_init_portals()) network initialisation
    failed<br>
    [209990.787541] ptlrpc: module is from the staging directory, the
    quality is unknown, you have been warned.<br>
    <br>
    I pulled the master git branch, and coul obtain<br>
    linux-patch-lustre_2.7.63.0-16-g8524994_all.deb 
    lustre-client-modules-3.16.7-ckt11-lustre-my-build_2.7.63.0-16-g8524994_amd64.deb 
    lustre-tests_2.7.63.0-16-g8524994_amd64.deb<br>
    lustre_2.7.63.0-16-g8524994_amd64.changes       
    lustre-dev_2.7.63.0-16-g8524994_amd64.deb                                         
    lustre-utils_2.7.63.0-16-g8524994_amd64.deb<br>
    lustre_2.7.63.0-16-g8524994.dsc                  lustre-release<br>
    lustre_2.7.63.0-16-g8524994.tar.gz              
    lustre-source_2.7.63.0-16-g8524994_all.deb<br>
    <br>
    I just don't get it. Why the shown version of the module is 2.3 ?<br>
    I tried to compile from the 2.7 branch but the 2.7.0 version doesn't
    compile with kernel 3.16, as suggested in LU-7042<br>
    <br>
    I probably miss something. Sorry I'm not familiar with compilers
    (usually the ./configure && make && make install
    works or warns you about missing dependencies and i don't go
    farther).<br>
    <br>
    Thank you<br>
    <br>
    Jerome<br>
    <br>
    PS : Here is the procedure followed to compile<br>
    <br>
    <br>
    apt-get install linux-headers-3.16.0-4-amd64 libtool automake
    linux-source-3.16<br>
    git clone git://git.whamcloud.com/fs/lustre-release.git<br>
    cd /usr/src/<br>
    tar xf linux-source-3.16.tar.xz<br>
    cd /home/build/lustre-release/<br>
    vi debian/rules (edit so it doesn't stop with autogen because it
    doesn't find the kernel sources)<br>
    (modify --with-linux= option with current path
    --with-linux=/usr/src/linux-3.16 in kdist_config section)<br>
    aptitude install module-assistant libreadline-dev debhelper  dpatch
    libsnmp-dev quilt devscripts <br>
     vi debian/control<br>
    (modify the dependency for unsatisfied linux-headers called
    linux-headers-something in jessie)<br>
    vi compile.sh<br>
    <font face="Consolas"><small>#!/bin/bash<br>
        unset DEBEMAIL<br>
        unset EMAIL<br>
        unset DEBFULLNAME<br>
        unset NAME<br>
        <br>
        export DEBFULLNAME="Niemand Nobody"<br>
        export EMAIL="npcomplete at example.com"<br>
        <br>
        # Extract lustre version, replace "_" by "." and remove leading
        letter "v".<br>
        LUSTRE_VERSION=$(echo `git describe` | sed -e "s/_/\./g" | cut
        -c2-)<br>
        <br>
        # Add entry into debian/changelog such that packages have proper
        version names.<br>
        dch --newversion $LUSTRE_VERSION --distribution unstable
        --nomultimaint -t "Build from official master upstream."<br>
        <br>
        #<br>
        sh ./autogen.sh<br>
        <br>
        # Build debian packages.<br>
        dpkg-buildpackage<br>
        <br>
        # Build modules.<br>
        #export MODULE_LOC=${PWD}<br>
        #cd /usr/src/linux<br>
        #make-kpkg modules_image --append-to-version -lustre-my-build
        --revision `date +"%Y%m%d"`</small></font><br>
    <br>
    Then i got stuck on "checking for external module build target" for
    a while, fixed by running "make scripts" in the kernel source folder<br>
    It finally compiled !<br>
    <br>
  </body>
</html>