[Aboriginal] /bin/sh error compiling distcc

Alan Post alanpost at sunflowerriver.org
Mon Mar 14 06:36:21 PDT 2011


On Mon, Mar 14, 2011 at 07:05:03AM -0600, Alan Post wrote:
> I'm trying to build aboriginal 1.0.1 inside the i486 system image.
> The packages download and I get to the next stage, building host
> tools.
> 
> busybox appears to compile fine.  I'm getting the following error
> message tryitg to build distcc:
> 
> === Building host-tools
> === distcc (host host-tools)
> Snapshot 'distcc'...
> configure: WARNING: you should use --build, --host, --target
> configure: WARNING: invalid host type: "--with-included-popt--disable-Werror"
> checking build system type... Invalid configuration `"--with-included-popt--disable-Werror"': machine `"--with-included-popt--disable' not recognized
> configure: error: /bin/bash ./config.sub "--with-included-popt--disable-Werror" failed
> 
> Exiting due to errors (host host-tools distcc)
> 
> 
> Somewhere in the configure stage for distcc, the two configure options:
> '--with-included-popt' and '--disable-Werror' are being joined together.
> 
> Going into the host-temp/distcc build directory, I try running the command
> by hand.  I get the same error message.  This suggests to me that I
> have a bug in /bin/sh in busybox.
> 
> If I modify the build script to call "/bin/bash ./configure ..." this problem
> goes away.  I can certainly modify the configure line for each
> invocation to configure.  Given that the system image is a squashfs,
> I can't see any way to change either the /bin/sh symlink or a way to
> tell busybox that in should execute /bin/bash when it is invoked as
> sh.
> 
> Have I found the best workaround?  I'd also like to find and fix the
> underlying issue; that will require more testing on my part; I want
> to be able to compile the whole system first.
> 
> -Alan

After adding /bin/bash to all of the ./configure lines in host-tools.sh,
I get a little further.  This time I error out building e2fsprogs:

...
On linux-gnu systems, root_prefix defaults to ''
On linux-gnu systems, prefix defaults to /usr
checking whether linker accepts -static... yes
configure: creating ./config.status
sh: syntax error at 'S_is_set[key]'

Exiting due to errors (host host-tools e2fsprogs)

real    2m38.058s
user    1m50.739s
sys     0m37.634s

I'm not sure what I'm seeing here.  I believe the 'S_is_set[key]' is awk
code, and I surmise from that that the awk from busybox is not
compiling some expression correctly.  But the line begins with 'sh: ',
so maybe what is going on is that some awk code is accidentally
being interpreted by the shell.

Now that I think about it, that could be what is going on.  It could
be that the config.status program is generated and executed not by bash,
but by the busybox sh, and it has encountered another expression it can't
parse.

Alas, I'm not sure now how best to work around it.  Suggestions?

-Alan
-- 
.i ma'a lo bradi ku penmi gi'e du

 1300109781.0


More information about the Aboriginal mailing list