Summary: | dev-libs/log4cxx - checking for APR-util... configure: error: the --with-apr-util parameter is incorrect. It must specify an install prefix, a build directory, or an apu-config file. | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Sammy Pfeiffer <sammypfeiffer> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cpp+disabled |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
emerge --info emerge -pqv output environment |
Description
Sammy Pfeiffer
2018-05-03 01:49:48 UTC
Created attachment 529502 [details]
emerge --info
Add emerge --info output
Created attachment 529504 [details]
emerge -pqv output
Adding emeerge -pqv output
Created attachment 529506 [details]
environment
Adding environment output
I could get the compilation working by changing the ebuild from: src_configure() { econf \ --disable-doxygen \ --disable-html-docs \ --with-apr-util="${SYSROOT:-${EPREFIX}}/usr" \ $(use_with smtp SMTP libesmtp) \ $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \ --with-charset=$(usex unicode utf-8 auto) } To: src_configure() { econf \ --disable-doxygen \ --disable-html-docs \ --with-apr-util="${EPREFIX:-${SYSROOT%/}}/usr" \ $(use_with smtp SMTP libesmtp) \ $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \ --with-charset=$(usex unicode utf-8 auto) } Which maybe is the expected logic? If EPREFIX exists (only exists in Gentoo Prefix environment as what I understand in https://devmanual.gentoo.org/ebuild-writing/variables/index.html) we use that variable, otherwise we default to SYSROOT in case someone is crosscompiling and that variable is different from /. I'm new to Gentoo, I hope this is helpful. In patch shape: --- logoriginal.txt 2018-05-03 02:14:01.673506744 -0000 +++ log4cxx-0.10.0-r1.ebuild 2018-05-03 02:04:10.675223362 -0000 @@ -45,7 +45,7 @@ econf \ --disable-doxygen \ --disable-html-docs \ - --with-apr-util="${SYSROOT:-${EPREFIX}}/usr" \ + --with-apr-util="${EPREFIX:-${SYSROOT%/}}/usr" \ $(use_with smtp SMTP libesmtp) \ $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \ --with-charset=$(usex unicode utf-8 auto) SYSROOT is defined in EAPI=7 (there also ESYSROOT exists for EPREFIX usage). @cpp: I assume SYSROOT comes from an eclass, would ${SYSROOT}${EPREFIX}/usr make sense to you here? (In reply to Fabian Groffen from comment #6) > SYSROOT is defined in EAPI=7 (there also ESYSROOT exists for EPREFIX usage). > > @cpp: I assume SYSROOT comes from an eclass, would ${SYSROOT}${EPREFIX}/usr > make sense to you here? I just found that in the apache eclass: https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/apache-2.eclass#n538 They do it exactly how you wrote Fabian. By the way, I haven't managed to find where are these variables defined (SYSROOT, EPREFIX, D, ED...), I just see them magically used. Could you point me to where they are defined? Thank you, and sorry for the offtopic. They come from Portage and are part of the standard set: https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-10800011 The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=166f3e137df0294e79e03264df4416ab4d7878a8 commit 166f3e137df0294e79e03264df4416ab4d7878a8 Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2018-05-29 09:58:30 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2018-05-29 09:58:53 +0000 dev-libs/log4cxx: fix SYSROOT/EPREFIX usage, bug #654678 Closes: https://bugs.gentoo.org/654678 Package-Manager: Portage-2.3.24, Repoman-2.3.6 dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) |