I had to do a fair amount of hacking to get 3.1.7 to compile and install on
Rocky 8.7/8.8 with Lustre 2.15.2. So much so that I am less than fully
comfortable and I would like feedback as to whether I'm creating a bigger
mess.
3.1.7 source would not compile or install on Rocky 8.7 with Lustre 2.15.2.
The issues I encountered were:
1. configure script would fail if there was more than one lustre-client.*$
package installed on the build host. In this case; lustre-client and
lustre-client-dkms caused a broken LVERSION variable.
2. Defines of IOC_MDC_GETFILEINFO_OLD and _V1 in src/common/lustre_tools.c
would not compile. I saw a issues post in github:cea-hpc robinhood about
this. Poster said uncommenting was required but I had to do the opposite
and comment out. (see below)
3. robinhood-webgui has a requires of php-mysql. php-mysql doesn't exist in
RHEL8 variants, it was replaced by php-mysqlnd. I had to change the require
in robinhood.spec.in from php-mysql to php-mysqlnd. While php-mysqlnd is
supposed to be a drop in replacement there are older tools and functions
gone and I have yet to dig and see if robinhood was strictly reliant on the
old php-mysql. Admittedly not an area I have much experience in
(php-mysql).
So.. to get 3.1.7 to compile and install (rpm format) on Rocky 8.7 with
Lustre 2.15.2 I had to make the below changes.
1) Change autotools/m4/lustre.m4 to add a pipe to `head -1` for the
LVERSION variable due to multiple lustre-client packages (lustre-client,
lustre-client-dkms)
2) Comment out lines 854-858 of src/common/lustre_tools.c due to compile
failures with Lustre 2.15.2
850 /* A new LL_IOC_MDC_GETINFO has been defined since Lustre 2.12.4,
851 * but it doesn't return a struct stat.
852 * Use the old (compatible) ioctl() instead.
853 */
854 /* #ifdef IOC_MDC_GETFILEINFO_OLD
855 # define IOC_MDC_GETFILEINFO_V1 IOC_MDC_GETFILEINFO_OLD
856 #else
857 # define IOC_MDC_GETFILEINFO_V1 IOC_MDC_GETFILEINFO
858 #endif */
3) Change robinhood.spec.in (line 170) to list php-mysqlnd as a package
requirement as opposed to php-mysql that was replaced my php-mysqlnd in
RHEL8 variants
robinhood.spec.in (170): Requires: php, php-pdo, *php-mysqlnd*
While it compiles and installs. I am not sure about the effects of the #2
and #3 changes and its impact on robinhood function.
--Jeff
--
------------------------------
Jeff Johnson
Co-Founder
Aeon Computing
[email protected]
www.aeoncomputing.com
t: 858-412-3810 x1001 f: 858-412-3845
m: 619-204-9061
4170 Morena Boulevard, Suite C - San Diego, CA 92117
High-Performance Computing / Lustre Filesystems / Scale-out Storage
_______________________________________________
robinhood-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/robinhood-support