Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 662836 - >=sys-fs/lvm2-2.02.178: missing dependency on dev-libs/libaio
Summary: >=sys-fs/lvm2-2.02.178: missing dependency on dev-libs/libaio
Status: RESOLVED DUPLICATE of bug 664738
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-05 11:59 UTC by Alexander Tsoy
Modified: 2018-10-11 09:26 UTC (History)
8 users (show)

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


Attachments
Emerge text (file_662836.txt,10.35 KB, text/plain)
2018-08-06 21:51 UTC, Erik Fjeldstrom
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Tsoy 2018-08-05 11:59:42 UTC
lvm2-2.02.181 depends on dev-libs/libaio. It is probably not needed with USE=device-mapper-only.
Comment 1 Erik Fjeldstrom 2018-08-06 21:51:38 UTC
Created attachment 542642 [details]
Emerge text

Confirmed this bug in ~arm64[device-mapper-only, readline, systemd, udev]; the build completes successfully with libaio installed.
Comment 2 Hector Martin 2018-08-07 11:02:49 UTC
Additionally, lvm2[static] needs libaio[static-libs]. Otherwise the build fails even with libaio installed, since libaio.a is missing.
Comment 3 Alexander Tsoy 2018-08-07 11:34:28 UTC
(In reply to Erik Fjeldstrom from comment #1)
> Created attachment 542642 [details]
> Emerge text
> 
> Confirmed this bug in ~arm64[device-mapper-only, readline, systemd, udev];
Yes, build system unconditionally checks for libaio.h even if it is not needed (USE=device-mapper-only):

https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ad756bb7083743b612d3fc66b268b605576f448a
Comment 4 Klaus Kusche 2018-08-12 12:54:11 UTC
Hmmm, installing libaio did not solve the problem for me,
the build still fails with libaio installed.
(I'm not building static libs).
The problem now is that for unknown reasons,
my libaio.so does not provide io_getevents,
but lvm2 needs io_getevents:

nm -D libaio.so.1.0.1
                 w __cxa_finalize
                 w __gmon_start__
00000000000006e0 T io_destroy
                 U io_getevents
0000000000000780 T io_queue_init
0000000000000770 T io_queue_release
0000000000000710 T io_queue_run
00000000000006f0 T io_setup
0000000000000700 T io_submit
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
0000000000000000 A LIBAIO_0.1
0000000000000000 A LIBAIO_0.4

lvm2 build log:
    [LN] liblvm2app.so.2.2
../liblvm/liblvm2app.so: undefined reference to `io_getevents'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:92: lvm2_activation_generator_systemd_red_hat] Error 1
make[1]: Leaving directory '/var/portage/portage/sys-fs/lvm2-2.02.181/work/LVM2.2.02.181/scripts'
make: *** [make.tmpl:358: scripts] Error 2
...
    [CC] liblvm2cmd.so
    [LN] liblvm2cmd.so.2.02
../lib/liblvm-internal.a(bcache.o): In function `_async_wait':
bcache.c:(.text+0x265): undefined reference to `io_getevents'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:148: lvm] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/var/portage/portage/sys-fs/lvm2-2.02.181/work/LVM2.2.02.181/tools'
make: *** [make.tmpl:358: tools] Error 2
 * ERROR: sys-fs/lvm2-2.02.181::gentoo failed (compile phase):
 *   emake failed
Comment 5 Klaus Kusche 2018-08-12 12:58:21 UTC
Sorry for the noise, not a problem of lvm2:
libaio does not like lto.
Everything's fine when emerging libaio no-lto.
Comment 6 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-10-11 09:26:25 UTC

*** This bug has been marked as a duplicate of bug 664738 ***