Summary: | bootstrap: sys-devel/flex-2.5.35 fails to build because help2man is not installed on FreeBSD 9.1-BETA1 | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Richard Yao (RETIRED) <ryao> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | Keywords: | Bug |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | FreeBSD | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | sys-devel/flex-2.5.35 failure log |
I was wrong. The QA notice issue occurs regardless of whether perl is installed by prefix or not: mtree: not found mtree: not found /gentoo/usr/lib/portage/bin/ebuild-helpers/prepall: line 14: mtree: command not found /gentoo/usr/lib/portage/bin/ebuild-helpers/prepstrip: line 177: scanelf: command not found /gentoo/usr/lib/portage/bin/ebuild-helpers/prepstrip: line 256: scanelf: command not found ecompressdir: bzip2 -9 /usr/share/doc ecompressdir: bzip2 -9 /usr/share/info ecompressdir: bzip2 -9 /usr/share/man * QA Notice: the following files use invalid (possible non-prefixed) shebangs: * gentoo/usr/bin/help2man:/usr/local/bin/perl (script help2man installed in PATH but interpreter /usr/local/bin/perl not found) * ERROR: sys-apps/help2man-1.40.10 failed: * Aborting due to QA concerns: invalid shebangs found * * Call stack: * misc-functions.sh, line 1895: Called install_qa_check * misc-functions.sh, line 253: Called install_qa_check_prefix * misc-functions.sh, line 1001: Called die * The specific snippet of code: * die "Aborting due to QA concerns: invalid shebangs found" * * If you need support, post the output of 'emerge --info =sys-apps/help2man-1.40.10', * the complete build log and the output of 'emerge -pqv =sys-apps/help2man-1.40.10'. * The complete build log is located at '/gentoo/var/tmp/portage/sys-apps/help2man-1.40.10/temp/build.log'. * The ebuild environment file is located at '/gentoo/var/tmp/portage/sys-apps/help2man-1.40.10/temp/environment'. * Working directory: '/gentoo/var/tmp/portage/sys-apps/help2man-1.40.10/image' * S: '/gentoo/var/tmp/portage/sys-apps/help2man-1.40.10/work/help2man-1.40.10' !!! post install failed; exiting. The last time I encountered this issue, I worked around it by doing `pkg_add -r help2man`. That will not work for non-root users, so we need a better solution. The following explains this issue fairly well, despite 8 years having passed: http://osdir.com/ml/lex.flex.general/2003-07/msg00023.html >Hello, everybody, > >I keep stumbling over strange things in trying to build 2.5.31 on a >DEC Alpha box running Digital Unix. This time, it's help2man. > >I didn't have that tool installed. So after I had to modify main.c >(to point it to "gnum4" instead "m4"), all builds failed because they >couldn't run that tool. That's rather a strange thing to happen at that >point of the process, since "configure" does check for the existence of >it, and if it's not found, it should complain about it. Instead, it >just set @HELP2MAN@ to help2man and presumed it existed. > >That's not a very useful behaviour, I think. AFAICS, if help2man is not >found, the "missing" mechanism of GNU autoconf should be used. > >[Of course, I've now installed help2man, too.] Running `env HELP2MAN="/bin/echo help2man" emerge --oneshot --nodeps sys-devel/flex allows it to build successfully. I have never encountered this problem, I'm affraid it's deemed to be invalid. I can perform stage{1,2,3} flawlessly on a vanilla FreeBSD 9.1-BETA1 |
Created attachment 318786 [details] sys-devel/flex-2.5.35 failure log sys-devel/flex-2.5.35 will fail to build on a fresh FreeBSD 9 installation because help2man is not installed as part of the base system. Doing `emerge --oneshot help2man` before building flex will prevent this issue from occurring, but this will build perl and coreutils before the toolchain has been installed. Doing `emerge --oneshot --nodeps help2man` will fail due to a QA check that prevents it from depending on an out-of-prefix interpreter.