Thank you, Tomas, Great investigation.
Your suggested hack really fixed my issue. On Mon, Jan 23, 2023 at 3:46 PM Tomas Korbar <[email protected]> wrote: > Hello, > since i encountered this in the past and postponed it, I did a bit of a > digging and found this: > As you probably found out by now it is caused by package-notes being > dependent > on environment variables that are expected to be present during package > build. > See the actual package-notes file contents: > $ cat /usr/lib/rpm/redhat/redhat-package-notes > *link: > + > --package-metadata={\"type\":\"rpm\",\"name\":\"%:getenv(RPM_PACKAGE_NAME > \",\"version\":\"%:getenv(RPM_PACKAGE_VERSION -%:getenv(RPM_PACKAGE_RELEASE > \",\"architecture\":\"%:getenv(RPM_ARCH > \",\"osCpe\":\"cpe:/o:fedoraproject:fedora:38\"})))) > > I took a look at your test and found out that your test uses rpmbuild to > perform > preparation of sources: > rlRun "rpmbuild -bp libarchive.spec" > rlRun "rpmbuild -bc libarchive.spec" > rlRun "popd" > > This probably executes configure in a way that configures linking to be > done with "-specs=/usr/lib/rpm/redhat/redhat-package-notes" option and thus > you now need the environment variables that the file mentions. These > variables > are defined and exported before build stage in macro defined in file > /usr/lib/rpm/macros and if you would have executed the check phase with > rpmbuild command, you would propably face no issue (did not verify this). > Unfortunately the test performs check manually: > rlRun "make check &> $TmpDir/make_check.log" 0 "Make check" > rlRun -s "./libarchive_test" > rlAssertGrep "Tests failed:[[:blank:]]* 0" $rlRun_LOG > and thus there are no environment variables. > This can be fixed by a little bit of a hack. Add this line: > rlRun 'eval "$(rpm --eval %___build_pre)"; cd > ~/rpmbuild/BUILD/libarchive-*' 0 "setting environment" > > before the make check and you are good to go. This causes > that needed environment variables will be defined. > > I hope that this helps you or based on this information you will be able > to find a better solution. > > Best Regards. > > > On Mon, Jan 23, 2023 at 2:00 PM Mamoru TASAKA <[email protected]> > wrote: > >> Mamoru TASAKA wrote on 2023/01/23 21:54: >> > Lukas Javorsky wrote on 2023/01/23 21:39: >> >> Hi, >> >> >> >> I've been looking at our upstreamed test [1] for libarchive package >> and it >> >> started to fail since Fedora 37. >> >> >> >> The error is: "gcc: fatal error: environment variable 'RPM_ARCH' not >> defined >> >> " >> >> >> >> Prior to the Fedora 37 the test was passing without any issue. >> >> >> >> Did anyone here had a similar problem? >> >> Or could anyone help me find out what has changed so it's causing this >> >> issue? >> >> >> >> [1] >> >> >> https://src.fedoraproject.org/tests/libarchive/blob/main/f/Sanity/Basic-sanity-test-for-libarchive >> >> >> >> Thank you so much for your help >> > >> > Most possibly due to "package note". >> > >> > `rpmbuild -bc` defines %{_package_note_flags}, embeds >> "-specs=/usr/lib/rpm/redhat/redhat-package-notes" >> > to LDFLAGS, which needs "RPM_ARCH" environment. During rpmbuild >> process, this environment is provided, >> > but then later "make" process does not define this automatically >> (because this process is not under >> > "rpmbuild"), so embedded >> "-specs=/usr/lib/rpm/redhat/redhat-package-notes" LDFLAGS complains about >> > missing environment. >> > >> > (Yes, I think this is annoying - sometimes rpmbuild fails with some >> reason, I try to fix compilation error >> > then try executing "make" locally, then I see linker complains about >> "'RPM_ARCH' not defined"...) >> > >> > I usually write "%_package_note_flags %nil" to ~/.rpmmacros, not sure >> if rpmbuild command line can >> > undefine macros. >> > >> >> Or maybe changing to "rpmbuild --define '_package_note_flags %nil' -bc >> libarchive.spec" can fix the >> issue you see. >> >> Mamoru >> _______________________________________________ >> devel mailing list -- [email protected] >> To unsubscribe send an email to [email protected] >> Fedora Code of Conduct: >> https://docs.fedoraproject.org/en-US/project/code-of-conduct/ >> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >> List Archives: >> https://lists.fedoraproject.org/archives/list/[email protected] >> Do not reply to spam, report it: >> https://pagure.io/fedora-infrastructure/new_issue >> > _______________________________________________ > devel mailing list -- [email protected] > To unsubscribe send an email to [email protected] > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/[email protected] > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue > -- S pozdravom/ Best regards Lukáš Javorský Software Engineer, Core service - Databases Red Hat <https://www.redhat.com> Purkyňova 115 (TPB-C) 612 00 Brno - Královo Pole [email protected] <https://www.redhat.com>
_______________________________________________ devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
