Created attachment 406886 [details] bc-1.06.95-r1:20150715-233236.log.gz Adding eautoreconf to src_prepare() fixes configure. Actual error: configure: creating ./config.status config.status: creating Makefile sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating bc/Makefile sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating dc/Makefile sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating doc/Makefile sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating doc/texi-ver.incl sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating lib/Makefile sed: file ./confstatg8dFv8/subs-1.sed line 29: unterminated `s' command config.status: creating config.h config.status: executing depfiles commands >>> Source configured. >>> Compiling source in /var/tmp/portage/sys-devel/bc-1.06.95-r1/work/bc-1.06.95 ... make -j8 AR=x86_64-pc-linux-gnu-ar make: *** No targets. Stop. emake failed * ERROR: sys-devel/bc-1.06.95-r1::gentoo failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 2251: Called die * The specific snippet of code: * emake AR="$(tc-getAR)" || die * * If you need support, post the output of `emerge --info '=sys-devel/bc-1.06.95-r1::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-devel/bc-1.06.95-r1::gentoo'`. * The complete build log is located at '/var/log/portage/build/sys-devel/bc-1.06.95-r1:20150715-233236.log.gz'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/sys-devel/bc-1.06.95-r1/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/sys-devel/bc-1.06.95-r1/temp/environment'. * Working directory: '/var/tmp/portage/sys-devel/bc-1.06.95-r1/work/bc-1.06.95' * S: '/var/tmp/portage/sys-devel/bc-1.06.95-r1/work/bc-1.06.95' From config.status: --- snip --- s,@DEFS@,-DHAVE_CONFIG_H,;t t s,@ECHO_C@, ,;t t s,@ECHO_N@,,;t t s,@ECHO_T@, ,;t t --- snip ---
Confirming the bug and the fix. @base-system: may I push the fix?
(In reply to Rémi Cardona from comment #1) forcing autotools is a big hammer, so let's not jump so quickly at any rate, i can't reproduce this. $ qlist -Iv dash app-shells/dash-0.5.8.2 $ ls -l /bin/sh lrwxrwxrwx 1 root root 4 Jul 14 23:00 /bin/sh -> dash $ ebuild bc-1.06.95-r1.ebuild clean unpack prepare configure <runs fine> maybe you need to upgrade your dash to the latest stable ?
Same version as you, I do have CONFIG_SHELL=/bin/dash otherwise configure restarts with bash. There's nothing wrong in the configure.{ac,in}, it's just that the tarball has been generated with an older version of autoconf. Maybe upstream could be poked into doing a new release?
(In reply to Rémi Cardona from comment #3) i see no reason to support manually exporting CONFIG_SHELL=/bin/dash even then, this doesn't reproduce for me: $ tar xf /usr/portage/distfiles/dash-0.5.8.tar.gz $ cd dash-0.5.8 $ CONFIG_SHELL=/bin/dash ./configure <no sed errors>
(In reply to SpanKY from comment #4) > i see no reason to support manually exporting CONFIG_SHELL=/bin/dash Well, configure's LINENO detection means it will be restarted with bash, so unless dash is "fixed", setting CONFIG_SHELL is the only way of forcing autotooled projects to actually build with dash. > even then, this doesn't reproduce for me: > $ tar xf /usr/portage/distfiles/dash-0.5.8.tar.gz > $ cd dash-0.5.8 It's bc that fails to build. Not dash.
(In reply to Rémi Cardona from comment #5) right, using the correct tarball and i see the issue manually but what you're trying doesn't really make sense. you're either forcing configure to use a broken shell (which always fails) or configure ignores your setting and dash still isn't used. if the only way this issue shows up is because you forced CONFIG_SHELL, then i guess there's not really anything that needs to be done here.
If I rebuild dash with lineno support, then I get the same issue (without any CONFIG_SHELL shenanigans) The objective here is to remove those bashisms, or to force econf to run with bash. Either way, to improve compatibility. Could you reconsider ? Thanks
(In reply to Rémi Cardona from comment #7) sure, but we build dash w/out lineno support explicitly, so that doesn't really matter does it ? i played around with the generated code a bit more. the latest autoconf will change its behavior when the hardcoded CONFIG_SHELL doesn't support lineno (creating the configure.lineno file), adding forcing it globally isn't as bad as i thought. i'll clobber it in the ebuild for this version.
should be all set now in the tree; thanks for the report! Commit message: Force CONFIG_SHELL=/bin/bash in case the user has forced a broken one http://sources.gentoo.org/sys-devel/bc/bc-1.06.95-r2.ebuild?r1=1.2&r2=1.3
Thanks!