Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 695510 - genkernel --multipath fails with ERROR: Binary /lib/multipath/*so could not be found
Summary: genkernel --multipath fails with ERROR: Binary /lib/multipath/*so could not b...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Genkernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-24 02:01 UTC by Mark G. Woodruff
Modified: 2019-10-13 16:00 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark G. Woodruff 2019-09-24 02:01:41 UTC
Lines 283-286 of /usr/share/genkernel.sh should be: 

copy_binaries "${TEMP}/initramfs-multipath-temp" \
                /bin/mountpoint \
                /sbin/{multipath,kpartx,dmsetup} \
                /lib/udev/scsi_id \
                /lib64/multipath/*so

because scsi_id is in /lib/udev/ but multipath/*so is only in /lib64

Reproducible: Always

Steps to Reproduce:
1.genkernel --multipath (any and all other options)
2.
3.
Actual Results:  
*         >> Appending multipath cpio data...
* 	Multipath support being added
* ERROR: Binary /lib/multipath/*so could not be found


Expected Results:  
Should include mulipath support in initfs
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2019-09-27 14:23:14 UTC
Which genkernel version from which repository are you using? genkernel.sh was removed in 2003(!).
Comment 2 Mark G. Woodruff 2019-09-28 14:58:34 UTC
My bad: /usr/share/genkernel/gen_initramfs.sh
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2019-09-28 15:17:28 UTC
You didn't answer my question, I asked

> _Which genkernel version_ from _which repository_ are you using?
Comment 4 Mark G. Woodruff 2019-09-29 19:12:44 UTC
(In reply to Thomas Deutschmann from comment #3)
> You didn't answer my question, I asked
> 
> > _Which genkernel version_ from _which repository_ are you using?

Genkernel 3.5.3.3 
default/linux/amd64/17.1/desktop profile

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage

layman.conf is empty

I am using zfs-9999/zmod-9999 as well.

Last sync'd 9/21 at 22:00 EST
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2019-09-29 22:30:33 UTC
OK, this problem is "fixed" for you in genkernel-4 because we now compile everything needed on our own and don't rely anymore on files on host system.

However, based on my own testing, you will run into

> A dynamic linking error occured: (/lib64/multipath/libchecktur.so: undefined symbol: logsink)
> failed to initialize checkers

error when booting an initramfs with domultipath. :(

Because multipath is broken in genkernel since 2016 (caused by commit 19d8a784c9618926a4740c43fcc40ebb1bb5bf8b) and nobody complained I plan to remove entire non-working multipath support in genkernel-4.

Patches are welcome.
Comment 6 Larry the Git Cow gentoo-dev 2019-10-13 16:00:57 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f5abf1319b37b89f49264d8e944ac1a9e7547b4d

commit f5abf1319b37b89f49264d8e944ac1a9e7547b4d
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2019-10-13 13:58:22 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2019-10-13 14:13:32 +0000

    Don't compile multipath-tools; Copy from host
    
    multipath-tools package doesn't really support a static
    build: While we managed to build programs like multipath
    statically, it still relied on dynamic libs for checkers
    which we are unable to fix.
    
    This commit will change --multipath support in that way that
    we now require that sys-fs/multipath-tools is installed on
    host system because we will copy binaries and used libraries
    from host to initramfs.
    
    Due to this change, you can't add multipath support in cross-
    compile scenarios anymore.
    
    Bug: https://bugs.gentoo.org/695510
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 defaults/software.sh                               |  21 ---
 gen_determineargs.sh                               |  29 ++++
 gen_initramfs.sh                                   |  19 +--
 gkbuilds/eudev.gkbuild                             |  46 ------
 gkbuilds/multipath-tools.gkbuild                   |  62 --------
 gkbuilds/userspace-rcu.gkbuild                     |  17 ---
 .../multipath-tools-0.7.5-respect-flags.patch      |  19 ---
 .../multipath-tools-0.8.0-respect-sysroot.patch    |  55 -------
 .../0.8.0/multipath-tools-0.8.0-static-libs.patch  | 159 ---------------------
 9 files changed, 40 insertions(+), 387 deletions(-)