| Summary: | app-crypt/mit-krb5-1.15.2: `krb5-config --libs` explicitly lists -L/usr/lib64 breaking 32bit builds | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Andrei Slavoiu <ansla80> |
| Component: | Current packages | Assignee: | Gentoo Kerberos Maintainers <kerberos> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | conikost, o.freyermuth, sam, samba |
| Priority: | Normal | Keywords: | PATCH |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | https://bugs.gentoo.org/show_bug.cgi?id=733132 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Bug Depends on: | |||
| Bug Blocks: | 733132 | ||
| Attachments: |
build.log
config.log.xz emerge --info mit-krb5-1.18.2-krb5-config.patch |
||
Created attachment 498464 [details]
config.log.xz
Created attachment 498466 [details]
emerge --info
You are right that krb5-config --libs prints -L/usr/lib64. That is because it is a symlink:
mattst88@p50-ethernet ~ % ls -lh /usr/bin/*krb5-config
-rwxr-xr-x 1 root root 6.6K Jun 5 20:27 /usr/bin/i686-pc-linux-gnu-krb5-config
lrwxrwxrwx 1 root root 31 Jun 5 20:27 /usr/bin/krb5-config -> x86_64-pc-linux-gnu-krb5-config
-rwxr-xr-x 1 root root 6.6K Jun 5 20:27 /usr/bin/x86_64-pc-linux-gnu-krb5-config
mattst88@p50-ethernet ~ % /usr/bin/x86_64-pc-linux-gnu-krb5-config --libs
-L/usr/lib64 -lkrb5 -lk5crypto -lcom_err
mattst88@p50-ethernet ~ % /usr/bin/i686-pc-linux-gnu-krb5-config --libs
-lkrb5 -lk5crypto -lcom_err
I can also confirm that samba detects "/usr/bin/krb5-config" in the configure stage as the binary to use:
> Checking for program 'krb5-config' : /usr/bin/krb5-config
but I don't see that it is used after that (at least with samba-4.10.6, with USE="acl client cups pam system-mitkrb5 systemd winbind zeroconf"
I don't use samba anymore, but I just gave version 4.10.6 a try. Same error as before. I even tried with the exact same USE flags (except for systemd, as I use the standard profile). Are you sure you also have abi_x86_32 enabled? As, of course, there is no problem unless you try to build for 32 bits. Yep, I have the same problem here. net-libs/neon does not build for me due '-L/usr/lib64' in the linker command line. Just found out, that this comes from app-crypt/mit-krb5. Isn't that anyway wrong, that '/usr/lib64' is included and printed? Created attachment 657380 [details, diff]
mit-krb5-1.18.2-krb5-config.patch
If I do remove the if block, which prints '-L/usr/lib64', I am able to compile neon. I also did run a test with net-fs/samba and had no problems with compiling.
(In reply to Conrad Kostecki from comment #7) > Created attachment 657380 [details, diff] [details, diff] > mit-krb5-1.18.2-krb5-config.patch > > If I do remove the if block, which prints '-L/usr/lib64', I am able to > compile neon. I also did run a test with net-fs/samba and had no problems > with compiling. Please commit this. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04bdab0f9da07f3c3242281135914029efe44caf commit 04bdab0f9da07f3c3242281135914029efe44caf Author: Conrad Kostecki <conikost@gentoo.org> AuthorDate: 2021-01-20 20:30:20 +0000 Commit: Conrad Kostecki <conikost@gentoo.org> CommitDate: 2021-01-20 20:47:22 +0000 app-crypt/mit-krb5: don't hardcode libpath If libpath is hardcoded for 'krb5-config --libs' this will fail the compilation on 32-bit systems. Closes: https://bugs.gentoo.org/634126 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> .../files/mit-krb5-1.18.2-krb5-config.patch | 15 ++ app-crypt/mit-krb5/mit-krb5-1.18.2-r3.ebuild | 169 +++++++++++++++++++++ app-crypt/mit-krb5/mit-krb5-1.18.3-r1.ebuild | 168 ++++++++++++++++++++ 3 files changed, 352 insertions(+) |
Created attachment 498462 [details] build.log # krb5-config --libs -L/usr/lib64 -lkrb5 -lk5crypto -lcom_err Because of this apps that build 32bit binaries linked to krb5 (for example samba) fail to build. I'll attach the logs from a failed net-fs/samba-4.7.0-r1 build.