Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 670836 - dev-lang/perl-5.26.2: fails to compile on prefix. Cannot find errno.h at Errno_pm.PL line 138.
Summary: dev-lang/perl-5.26.2: fails to compile on prefix. Cannot find errno.h at Errn...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-10 13:00 UTC by xLiang
Modified: 2018-12-25 13:05 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 xLiang 2018-11-10 13:00:30 UTC
bug #645804

Reproducible: Always
Comment 1 xLiang 2018-11-10 13:03:31 UTC
like bug #645804.

I'm trying install a fresh prefix bootstrap. meet this error on stage3.

I checked Errno_pm.PL, found the search path root at line 132 was:
${EPRIFIX}/tmp/

It should been modified by these lines in perl-5.26.2.ebuild:
# Use errno.h from prefix rather than from host system, bug #645804
if use prefix && ! use prefix-guest; then
	sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
fi


I found errno.h in ${EPREFIX}/usr/include/.
but ${EPREFIX}/tmp/usr/include/ do not contain errno.h.

seem bootstrap-prefix script change the environment variable ${EPREFIX} to ${EPREFIX}/tmp cause this?
Comment 2 Fabian Groffen gentoo-dev 2018-12-06 10:43:51 UTC
I think we should turn this into:

if use prefix && [[ -e ${EPREFIX}/usr/include/errno.h ]] ; then
    sed -i .... || die
fi

Do you have the ability to test this?
Comment 3 Larry the Git Cow gentoo-dev 2018-12-06 10:49:19 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e39a7b89df99dce85a08af276ec31429b2be786

commit 2e39a7b89df99dce85a08af276ec31429b2be786
Author:     Fabian Groffen <grobian@gentoo.org>
AuthorDate: 2018-12-06 10:49:05 +0000
Commit:     Fabian Groffen <grobian@gentoo.org>
CommitDate: 2018-12-06 10:49:05 +0000

    dev-lang/perl: fix fix for #645804 during bootstrap
    
    Closes: https://bugs.gentoo.org/670836
    Signed-off-by: Fabian Groffen <grobian@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11

 dev-lang/perl/perl-5.26.2.ebuild    | 4 ++--
 dev-lang/perl/perl-5.26.9999.ebuild | 4 ++--
 dev-lang/perl/perl-5.28.0.ebuild    | 4 ++--
 dev-lang/perl/perl-5.28.9999.ebuild | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)
Comment 4 Benda Xu gentoo-dev 2018-12-17 14:37:06 UTC
I think this is rather a bug of the bootstrap process than of the perl ebuild.
Comment 5 Benda Xu gentoo-dev 2018-12-17 14:38:38 UTC
During stage3, EPREFIX should always be ${EPREFIX}, not ${EPREFIX}/tmp.
Comment 6 Benda Xu gentoo-dev 2018-12-20 13:39:12 UTC
It was bootstrapped into ${EPREFIX}/tmp because of EAPI-7 installing into BROOT during cross-eprefix.
Comment 7 Benda Xu gentoo-dev 2018-12-25 13:05:06 UTC
Well, the fix at least does not harm.