Bug 2219064

Summary: libacl unusable
Product: [Fedora] Fedora Reporter: Albert Flügel <af>
Component: aclAssignee: Lukáš Zaoral <lzaoral>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: frank, kdudka, kevin, lzaoral, mszpak, steved, svashisht, vmihalko
Target Milestone: ---Keywords: Regression, Upgrades
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-02 07:25:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Albert Flügel 2023-07-01 15:47:29 UTC
no, this is not about pylibacl, but just about libacl-2.3.1-6.fc38.x86_64, but i don't get libacl offered in the above menu.

Issue is: there is no /usr/lib64/libacl.so in the package, but ld.so expects it. Running ldconfig does not help.

Reproducible: Always

Steps to Reproduce:
1. Try to compile and run the "program" main(){ acl_get_file(); } with gcc -o acl acl.c -lacl
2. Does not work. Linker complains /usr/bin/ld: cannot find -lacl: No such file or directory
3. Program is not built
Actual Results:  
Program is not built

Expected Results:  
program is built and can be run

For 32 bit the file is there:
% rpm -qf /lib/libacl.so.1
libacl-2.3.1-6.fc38.i686
% rpm -ql libacl.x86_64
/usr/lib/.build-id
/usr/lib/.build-id/9a
/usr/lib/.build-id/9a/4a1d4604fa70d1a77cdb27c3a3dc86616ed482
/usr/lib64/libacl.so.1
/usr/lib64/libacl.so.1.1.2301

In the Linker cache, there is libacl.so first:
% strings /etc/ld.so.cache | grep libacl
/lib64/libacl.so
/lib/libacl.so.1
/lib64/libacl.so.1

There is a libacl.so.1 , but for whatever reason the linker does not use it.
stracing the gcc ... shows, that it never tries to open any libacl.so.1 , only those without .1
Adding a symlink /lib64/libacl.so makes it work. This should be created by the package installation. Running ldconfig does not help.

Comment 1 Kevin Fenzi 2023-07-01 16:36:21 UTC
libacl is a subpackage of the 'acl' package. Moving over there.

Comment 2 Vincent Mihalkovič 2023-07-02 07:25:51 UTC
If you want to use (libacl) and use it in your programs, you have to install it:

% dnf install libacl-devel

Comment 3 Albert Flügel 2023-07-02 08:39:47 UTC
Ups, right. Sorry, i had only the 32 bit libacl-devel installed and did not watch closely enough.