[lustre-discuss] Compiling lustre-2.10.6
YangSheng
kmlist at 163.com
Tue Mar 12 10:02:03 PDT 2019
Hi, Hsieh,
You can port ldiskfs patch(ldiskfs//kernel_patches/patches/rhel6.3/ext4-export-64bit-name-hash.patch) to fix this issue. This patch has been landed to RHEL. But looks like Debian not.
Thanks,
YangSheng
> 在 2019年3月13日,上午12:36,Tung-Han Hsieh <thhsieh at twcp1.phys.ntu.edu.tw> 写道:
>
> Dear Farrell,
>
> Thank you very much for your response. Unfortunately, the wiki does
> not cover our special environment.
>
> We need to build Lustre Master (i.e., to handle MDS and OSS) on a
> Debian Linux 8.X/9.X operating system, with LDSIKFS as the backend
> for MDT and OST. This is because we already have a lot of OSS with
> a lot of data. They were upgraded from Lustre-1.8.8 to Lustre-2.5.3.
> These servers are all installed Debian 8.11 Linux system. We just
> want to keep them running smoothly to provide a stable computing
> environment.
>
> I saw that the Lustre Master with LDISKFS is tightly bond to RHEL
> 6.4 or 7.3. It is quite unfortunate not our case. So we have to
> find some non-standard way to build it for our system.
>
> From Lustre-1.6.X, 1.8.X, and up to 2.5.X, we got the source code
> of Linux kernel from SuSE, patch it, and then build lustre source.
> For example, for 2.5.X, we get the following Linux kernel from
> sele11sp3:
>
> linux-3.0.101-138.gcdbe806
>
> and patch it via the following commands:
>
> cd linux-3.0.101-138.gcdbe806
> ln -s ../lustre-2.5.X/lustre/kernel_patches/series/3.0-sles11sp3.series series
> ln -s ../lustre-2.5.X/lustre/kernel_patches/patches patches
> quilt push -av
>
> Then we build Linux kernel, and build Lustre with the following
> instructions:
>
> cd lustre-2.5.X
> ./configure --prefix=/opt/lustre --with-linux=/usr/src/linux-3.0.101-138.gcdbe806 --with-o2ib=no
> make
> make install
>
> These are standard methods we found in the Lustre-1.8.X manuals. It
> works before, and the resulting system ran without problem for a long
> time. So for Lustre-2.10.X, we want to try similar method. Now we
> encountered the compiling errors of LDISKFS_HTREE_EOF_32BIT and
> LDISKFS_HTREE_EOF_64BIT not defined.
>
> I guess that these symbols are defined somewhere in RHEL systems,
> but unfortunately not available in other Linux distributions. I
> searched the entire source code of lustre-2.10.6, including all the
> patch files coming with the source code, there is no definition of
> these two symbols. So maybe I should ask what are the definition
> of these symbols ? We could just add their definitions into the
> header file "ldiskfs/ldiskfs.h" to complete the compilation.
>
> ps. In Debian Linux system, we already successfully compiled Lustre-2.10.5
> with ZFS backend. It works very nice in one of our clusters. However,
> this time we need Lustre-2.10.X with LDISKFS backend, because there
> are a lot of OSTs which are formatted with LDISKFS. The total size of
> data is more than 50TB which is impossible to back it up and reformat.
>
> Thanks very much.
>
> T.H.Hsieh
>
> On Tue, Mar 12, 2019 at 03:55:13PM +0000, Patrick Farrell wrote:
>> Hsieh,
>>
>>
>> We have instructions for compiling from source here on our Wiki:
>>
>> https://wiki.whamcloud.com/display/PUB/Building+Lustre+from+Source
>>
>>
>> Are you following those? If not, I'd suggest it - Your problem looks likely to be an error in the build process.
>>
>>
>> We also have prebuilt 2.10.6 packages for many platforms:
>> https://downloads.whamcloud.com/public/lustre/
>>
>>
>> - Patrick
>>
>>
>>
>> ________________________________
>> From: lustre-discuss <lustre-discuss-bounces at lists.lustre.org> on behalf of Tung-Han Hsieh <thhsieh at twcp1.phys.ntu.edu.tw>
>> Sent: Tuesday, March 12, 2019 9:22:57 AM
>> To: lustre-discuss at lists.lustre.org
>> Subject: [lustre-discuss] Compiling lustre-2.10.6
>>
>> Dear All,
>>
>> I am trying to compile lustre-2.10.6 from source code. During
>> compilation, there are undefined symbols:
>>
>> ==========================================================================
>> CC [M] /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.o
>> In file included from /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:72:0:
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h: In function 'ldiskfs_get_htree_eof':
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1254:10: error: 'LDISKFS_HTREE_EOF_32BIT' undeclared (first use in this function)
>> return LDISKFS_HTREE_EOF_32BIT;
>> ^
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1254:10: note: each undeclared identifier is reported only once for each function it appears in
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1256:10: error: 'LDISKFS_HTREE_EOF_64BIT' undeclared (first use in this function)
>> return LDISKFS_HTREE_EOF_64BIT;
>> ^
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c: In function 'osd_check_lmv':
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:968:19: error: 'LDISKFS_HTREE_EOF_64BIT' undeclared (first use in this function)
>> filp->f_pos != LDISKFS_HTREE_EOF_64BIT);
>> ^
>> In file included from /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:72:0:
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h: In function 'ldiskfs_get_htree_eof':
>> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1257:1: error: control reaches end of non-void function [-Werror=return-type]
>> }
>> ^
>> cc1: all warnings being treated as errors
>> scripts/Makefile.build:321: recipe for target '/home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.o' failed
>> ==========================================================================
>>
>> I searched the source code, only find the definition of LDISKFS_HTREE_EOF
>> in ldiskfs/ldiskfs.h:
>>
>> #define LDISKFS_HTREE_EOF 0x7fffffff
>>
>> but cannot find the definition of LDISKFS_HTREE_EOF_32BIT and
>> LDISKFS_HTREE_EOF_64BIT. Could anyone tell me how to fix this problem ?
>>
>> Thanks very much.
>>
>> T.H.Hsieh
>> _______________________________________________
>> lustre-discuss mailing list
>> lustre-discuss at lists.lustre.org
>> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
> _______________________________________________
> lustre-discuss mailing list
> lustre-discuss at lists.lustre.org
> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
More information about the lustre-discuss
mailing list