I suspect it might be a string format change that's affecting a step in the 
build process you gave.

At first glance, I'd say manually verify the output of this step from 
compile.sh:
# Extract lustre version, replace "_" by "." and remove leading letter "v".
LUSTRE_VERSION=$(echo `git describe` | sed -e "s/_/\./g" | cut -c2-)

It's possible the info provided by git describe changed slightly and the sed 
and cut commands don't match up any more.  You could fix them or set it 
manually.

Good luck,
Patrick Farrell
________________________________________
From: lustre-discuss [[email protected]] on behalf of 
Jérôme BECOT [[email protected]]
Sent: Saturday, November 28, 2015 4:26 AM
To: [email protected]
Subject: [lustre-discuss] Compiling from sources with Debian 8

Hi there,

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.

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.

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 :

 > With his packages
[212417.535369] LNet: HW CPU cores: 1, npartitions: 1
[212417.538430] alg: No test for adler32 (adler32-zlib)
[212417.538456] alg: No test for crc32 (crc32-table)
[212425.548907] Lustre: Lustre: Build Version: 
v2_7_60_0-ge686e57-CHANGED-3.16.0-4-amd64
[212425.565330] LNet: Added LNI 172.27.7.118@tcp1 [8/256/0/180]
[212425.565354] LNet: Accept secure, port 988
[212425.595531] Lustre: Mounted lustre-client

> With mine
[209942.090874] LNet: HW CPU cores: 1, npartitions: 1
[209942.092902] alg: No test for adler32 (adler32-zlib)
[209950.092501] lnet: module is from the staging directory, the quality is 
unknown, you have been warned.
[209950.093589] lvfs: module is from the staging directory, the quality is 
unknown, you have been warned.
[209950.094634] obdclass: module is from the staging directory, the quality is 
unknown, you have been warned.
[209950.098595] Lustre: Lustre: Build Version: v2_3_64_0-g6e62c21-CHANGED-3.9.0
[209950.099999] ptlrpc: module is from the staging directory, the quality is 
unknown, you have been warned.
[209950.104615] ksocklnd: module is from the staging directory, the quality is 
unknown, you have been warned.
[209950.105237] LNetError: 845:0:(linux-tcpip.c:82:libcfs_ipif_query()) Can't 
get flags for interface eth0
[209950.105862] LNetError: 845:0:(socklnd.c:2824:ksocknal_startup()) Can't get 
interface eth0 info: -515
[209951.104194] LNetError: 105-4: Error -100 starting up LNI tcp
[209951.104852] LustreError: 845:0:(events.c:566:ptlrpc_init_portals()) network 
initialisation failed
[209990.787541] ptlrpc: module is from the staging directory, the quality is 
unknown, you have been warned.

I pulled the master git branch, and coul obtain
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
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
lustre_2.7.63.0-16-g8524994.dsc                  lustre-release
lustre_2.7.63.0-16-g8524994.tar.gz               
lustre-source_2.7.63.0-16-g8524994_all.deb

I just don't get it. Why the shown version of the module is 2.3 ?
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

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).

Thank you

Jerome

PS : Here is the procedure followed to compile


apt-get install linux-headers-3.16.0-4-amd64 libtool automake linux-source-3.16
git clone git://git.whamcloud.com/fs/lustre-release.git
cd /usr/src/
tar xf linux-source-3.16.tar.xz
cd /home/build/lustre-release/
vi debian/rules (edit so it doesn't stop with autogen because it doesn't find 
the kernel sources)
(modify --with-linux= option with current path --with-linux=/usr/src/linux-3.16 
in kdist_config section)
aptitude install module-assistant libreadline-dev debhelper  dpatch libsnmp-dev 
quilt devscripts
 vi debian/control
(modify the dependency for unsatisfied linux-headers called 
linux-headers-something in jessie)
vi compile.sh
#!/bin/bash
unset DEBEMAIL
unset EMAIL
unset DEBFULLNAME
unset NAME

export DEBFULLNAME="Niemand Nobody"
export EMAIL="npcomplete at example.com"

# Extract lustre version, replace "_" by "." and remove leading letter "v".
LUSTRE_VERSION=$(echo `git describe` | sed -e "s/_/\./g" | cut -c2-)

# Add entry into debian/changelog such that packages have proper version names.
dch --newversion $LUSTRE_VERSION --distribution unstable --nomultimaint -t 
"Build from official master upstream."

#
sh ./autogen.sh

# Build debian packages.
dpkg-buildpackage

# Build modules.
#export MODULE_LOC=${PWD}
#cd /usr/src/linux
#make-kpkg modules_image --append-to-version -lustre-my-build --revision `date 
+"%Y%m%d"`

Then i got stuck on "checking for external module build target" for a while, 
fixed by running "make scripts" in the kernel source folder
It finally compiled !
_______________________________________________
lustre-discuss mailing list
[email protected]
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Reply via email to