Summary: | sys-apps/ibm-powerpc-utils-1.3.8-r1 - configure: error: librtasevent library is missing (on musl) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | ernsteiswuerfel <erhard_f> |
Component: | Current packages | Assignee: | PPC Porters <ppc> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | grobian, jstein, musl, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 430702 | ||
Attachments: |
build.log
config.log emerge --info build.log config.log emerge --info |
Created attachment 695979 [details]
config.log
Created attachment 695982 [details]
emerge --info
The library isn't missing, it is miscompiled. @ppc, I've filed upsteam: - https://github.com/ibm-power-utilities/librtas/issues/10 - https://github.com/ibm-power-utilities/powerpc-utils/pull/63 This basically amounts to this musl patch for librtas: --- a/librtasevent_src/rtas_event.h +++ b/librtasevent_src/rtas_event.h @@ -23,6 +23,8 @@ #ifndef _H_RTAS_EVENT #define _H_RTAS_EVENT +#include <endian.h> + #define PRNT_FMT "%-20s%08x" #define PRNT_FMT_L PRNT_FMT" " #define PRNT_FMT_R PRNT_FMT"\n" and the patch in the pull-request for ibm-powerpc-utils. Would you be ok with me committing the patches for musl support? feel free to commit those patches to ppcutils and rtas straight to ::gentoo, as long as it still builds on glibc =) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=201709d5fe0cb18bb6f8f1fd8942ee2cba15a18b commit 201709d5fe0cb18bb6f8f1fd8942ee2cba15a18b Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2021-05-30 13:56:49 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2021-05-30 13:56:58 +0000 sys-libs/librtas-2.0.2-r1: fix resulting libs using musl Bug: https://bugs.gentoo.org/779109 Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Fabian Groffen <grobian@gentoo.org> sys-libs/librtas/files/librtas-2.0.2-musl.patch | 30 +++++++++++++++++++++++++ sys-libs/librtas/librtas-2.0.2-r1.ebuild | 4 +++- 2 files changed, 33 insertions(+), 1 deletion(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f43b91a9e3987fbb5aa958d0b32ed5759d7c230 commit 9f43b91a9e3987fbb5aa958d0b32ed5759d7c230 Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2021-05-30 14:02:17 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2021-05-30 14:02:17 +0000 sys-apps/ibm-powerpc-utils: fix build using musl Closes: https://bugs.gentoo.org/779109 Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Fabian Groffen <grobian@gentoo.org> .../files/ibm-powerpc-utils-1.3.8-musl.patch | 95 ++++++++++++++++++++++ .../ibm-powerpc-utils-1.3.8-r1.ebuild | 3 +- .../ibm-powerpc-utils-99999.ebuild | 3 +- 3 files changed, 99 insertions(+), 2 deletions(-) Thanks for your efforts but unfortunately it still does not build despite the musl.patch is pulled in: [...] checking for inflate in -lz... yes checking librtas.h usability... yes checking librtas.h presence... yes checking for librtas.h... yes checking for rtas_errinjct_open in -lrtas... yes checking librtasevent.h usability... yes checking librtasevent.h presence... yes checking for librtasevent.h... yes checking for parse_rtas_event in -lrtasevent... no configure: error: in `/var/tmp/portage/sys-apps/ibm-powerpc-utils-1.3.8-r1/work/powerpc-utils-1.3.8': configure: error: librtasevent library is missing (--without-librtas to disable) See `config.log' for more details !!! Please attach the following file when seeking support: !!! /var/tmp/portage/sys-apps/ibm-powerpc-utils-1.3.8-r1/work/powerpc-utils-1.3.8/config.log * ERROR: sys-apps/ibm-powerpc-utils-1.3.8-r1::gentoo failed (configure phase): * econf failed Have you rebuilt librtas first? Created attachment 712581 [details]
build.log
Created attachment 712584 [details]
config.log
Created attachment 712587 [details]
emerge --info
configure:5417: checking for parse_rtas_event in -lrtasevent configure:5442: powerpc64-gentoo-linux-musl-gcc -o conftest -Os -mcpu=970 -mtune=970 -pipe -Wl,-O1 -Wl,--as-needed conftest.c -lrtasevent -lrtas -lz >&5 /usr/lib/gcc/powerpc64-gentoo-linux-musl/10.2.0/../../../../powerpc64-gentoo-linux-musl/bin/ld: /usr/lib/gcc/powerpc64-gentoo-linux-musl/10.2.0/../../../../lib/librtasevent.so: undefined reference to `be16toh' /usr/lib/gcc/powerpc64-gentoo-linux-musl/10.2.0/../../../../powerpc64-gentoo-linux-musl/bin/ld: /usr/lib/gcc/powerpc64-gentoo-linux-musl/10.2.0/../../../../lib/librtasevent.so: undefined reference to `be32toh' collect2: error: ld returned 1 exit status you probably didn't rebuild librtas Oops, true! Now it builds fine. Sorry for the noise.. Is there a better way to catch this than we currently do? I know there was talk on IRC (in #g-portage) of a way to rebuild a package WITH all it's dependencies.. but I don't think this has come to fruition. It's probably one of a few cases, where a revbump makes adjustments easier to 'catch' .. (In reply to Michael 'veremitz' Everitt from comment #14) > Is there a better way to catch this than we currently do? I know there was > talk on IRC (in #g-portage) of a way to rebuild a package WITH all it's > dependencies.. but I don't think this has come to fruition. > > It's probably one of a few cases, where a revbump makes adjustments easier > to 'catch' .. I suppose a policy change to make ALL changes to libs /require/ a revbump, might not be a bad thing? WTYT... I did NOT revbump this on purpose, for I don't want to cause rebuilds for everyone just for 2 people running musl here. That being, me and OP :) (In reply to Fabian Groffen from comment #16) > I did NOT revbump this on purpose, for I don't want to cause rebuilds for > everyone just for 2 people running musl here. That being, me and OP :) yeah I know how policy works, and I don't doubt your reasoning either! :] Just for the record, revbumps would normally be in order here, but since musl on ppc64 isn't even official, let alone musl being very widespread at this point, I just want to keep the rebuild-noise down for "normal" users, this is the same tradeoff I make for Prefix users. Anyone observing this wrt policies will typically frown, I just keep the majority of users in mind. |
Created attachment 695976 [details] build.log [...] checking librtas.h usability... yes checking librtas.h presence... yes checking for librtas.h... yes checking for rtas_errinjct_open in -lrtas... yes checking librtasevent.h usability... yes checking librtasevent.h presence... yes checking for librtasevent.h... yes checking for parse_rtas_event in -lrtasevent... no configure: error: in `/var/tmp/portage/sys-apps/ibm-powerpc-utils-1.3.8-r1/work/powerpc-utils-1.3.8': configure: error: librtasevent library is missing (--without-librtas to disable) See `config.log' for more details !!! Please attach the following file when seeking support: !!! /var/tmp/portage/sys-apps/ibm-powerpc-utils-1.3.8-r1/work/powerpc-utils-1.3.8/config.log * ERROR: sys-apps/ibm-powerpc-utils-1.3.8-r1::gentoo failed (configure phase): * econf failed