Summary: | The binutils suite will not compile on systems without a bash shell | ||
---|---|---|---|
Product: | binutils | Reporter: | Mark Hobley <markhobley> |
Component: | binutils | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bug-binutils, Ralf.Wildenhues |
Priority: | P2 | ||
Version: | 2.19 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: | 2009-04-24 15:08:52 |
Description
Mark Hobley
2009-04-11 12:29:13 UTC
Most likely the shell has a problem with the handing of here-documents. Use of genscrba.sh is protected by a test of a bash specific variable, so that should not be causing a problem. (In reply to comment #2) > Use of genscrba.sh is protected by a test of a bash specific variable, so that > should not be causing a problem. These build scripts are big, messy and difficult to debug IMHO. It might be better to have different directories of scripts for the different platforms, rather than having massive scripts with hundreds of different branches, an then trying to work out where these go wrong. (The KISS principle). Also, the subdirectories seem to rely on the parent directory scripts, and the scripts are tied to specific versions of autotools. (I would like to a libbinutils library, and the components separated into separate packages, but I am strange like that.) The problem might be to do with genscripts.sh: checkbashisms genscripts.sh . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME} possible bashism in genscripts.sh line 292 (sourced script with arguments): (there is a whole series of these). The first one appeared to be calling ld/emulparams/elf_i386.sh elf_i386. I am not sure what the passed arguments do here. Subject: Bug 10061 CVSROOT: /cvs/src Module name: src Changes by: amodra@sourceware.org 2009-04-24 15:06:17 Modified files: ld : ChangeLog genscripts.sh Log message: PR 10061 * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT param. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/ChangeLog.diff?cvsroot=src&r1=1.1972&r2=1.1973 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/genscripts.sh.diff?cvsroot=src&r1=1.29&r2=1.30 Please let me know if the patch I've just committed fixes it for you. Which system and shell is this on exactly? Including version, please. Thanks. Subject: Re: The binutils suite will not compile on systems without a bash shell --- On Thu, 4/6/09, Ralf dot Wildenhues at gmx dot de <sourceware-bugzilla@sourceware.org> wrote: > From: Ralf dot Wildenhues at gmx dot de <sourceware-bugzilla@sourceware.org> > Subject: [Bug binutils/10061] The binutils suite will not compile on systems without a bash shell > Which system and shell is this on exactly? Including > version, please. Thanks. Hi Ralf. This is an experimental system currently in build. Unfortunately the broken toolchain has prevented completion of an an operational build. The system currently has two shells: hsh - The Heirloom Shell ash - Kenneth Almquist's Shell The ash shell has some bug fixes applied to the build scripts in order to make it compatible with Linux based systems. Shell scripts are initially tested with the Heirloom shell for syntax portability, and are expected to run on a Bourne compatible shell (which will probably be ash), in a live environment. The heirloom shell is version 050706: http://heirloom.sourceforge.net/sh.html The ash shell is ash386-0.2a: ftp://markhobley.yi.org/packages/ash/ash386-0.2a.tar.bz2 I can give you specific system related information on request, if you require additional information. (Basically, this is currently a broken Debian, which will be butchered to remove Debian specifics, a new kernel will be build. The system will be more like Slackware when it becomes built. My systems currently run Debian for legacy reasons. I do not like this distribution. Regards, Mark. Fixed |