[LU-17257] GSS/Kerberos does not build on Ubuntu ARM64 system Created: 02/Nov/23  Updated: 18/Nov/23  Resolved: 18/Nov/23

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.16.0

Type: Improvement Priority: Minor
Reporter: Aurelien Degremont Assignee: Jian Yu
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Trying to build Lustre with GSS support on a ARM64 system fails as autoconf fails to detect the Kerberos environment properly.

This is because it looks for some libraries in a static list of path that does not include the patch Debian/Ubuntu uses:

      if test -f $dir/include/gssapi/gssapi_krb5.h -a \
                \( -f $dir/lib/libgssapi_krb5.a -o \
                   -f $dir/lib64/libgssapi_krb5.a -o \
                   -f $dir/lib64/libgssapi_krb5.so -o \
                   -f $dir/lib/x86_64-linux-gnu/libgssapi_krb5.so -o \
                   -f $dir/lib/libgssapi_krb5.so \) ; then

whereas for Debian ARM64 it will be:

             -f $dir/lib/aarch64-linux-gnu/libgssapi_krb5.so -o \   

I can simply add a new line to that but I'm wondering if there is not something a bit more clean/future-proof



 Comments   
Comment by Peter Jones [ 03/Nov/23 ]

Jian

Any suggestions here?

Peter

Comment by Aurelien Degremont [ 03/Nov/23 ]

The needed path could be obtained with pkgconfig, but I don't have the needed environment to validate how portable that is across supported environments.

$ pkg-config --variable=libdir krb5
/usr/lib/aarch64-linux-gnu

If you have the opportunity to validate that across RHEL and Ubuntu versions, that would be awesome!

Comment by Jian Yu [ 06/Nov/23 ]

Hi adegremont_nvda,
The command works:

Ubuntu 20.04.6 LTS x86_64  
/usr/lib/x86_64-linux-gnu

Ubuntu 22.04 LTS x86_64  
/usr/lib/x86_64-linux-gnu

CentOS Linux release 7.9.2009 (Core) x86_64
/usr/lib64

Rocky Linux release 8.8 (Green Obsidian) x86_64  
/usr/lib64

Red Hat Enterprise Linux 9.2 (Plow) x86_64  
/usr/lib64

SUSE Linux 15 SP4 x86_64  
/usr/lib64

SUSE Linux 15 SP5 x86_64  
/usr/lib64

However, the extra step is to make sure "pkg-config" is installed. Otherwise, the command cannot get the expected output:

# lsb_release -d
Description:    Ubuntu 22.04 LTS

# dpkg -S /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so
libkrb5-dev:amd64: /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so

# pkg-config --variable=libdir krb5
Command 'pkg-config' not found, but can be installed with:
apt install pkg-config  # version 0.29.2-1ubuntu3, or
apt install pkgconf     # version 1.8.0-1

 

Comment by James A Simmons [ 06/Nov/23 ]

pkg-config is used for libyaml configuration with Lustre so its a hard requirement.

Comment by Jian Yu [ 06/Nov/23 ]

Thank you simmonsja for this info.
I'm working on a patch to update lustre/autoconf/kerberos5.m4.

Comment by Gerrit Updater [ 07/Nov/23 ]

"Jian Yu <yujian@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53010
Subject: LU-17257 build: use pkg-config to find krb5 libdir
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 79b40ead16804f2c7c96f47c137d97a9617e270b

Comment by Gerrit Updater [ 18/Nov/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/53010/
Subject: LU-17257 build: use pkg-config to find krb5 libdir
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: f7f3247ee2a358d000dc62526a721c1a249354ee

Comment by Peter Jones [ 18/Nov/23 ]

Landed for 2.16

Generated at Sat Feb 10 03:33:56 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.