Fix newlib install failure in install-data-local target
Matthew Gretton-Dann
matthew.gretton-dann@arm.com
Thu May 19 06:06:00 GMT 2011
Hi,
When building and installing newlib targeting arm-none-eabi I am getting
the following failure when doing:
make install-target-newlib install-target-libgloss
...
if [ -z "" ]; then \
/bin/bash /work/local-checkouts/binutils-fsf/newlib/../mkinstalldirs /work/builds/install/arm-none-eabi/include; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/include/*.h; do \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/`basename $i`; \
done; \
/usr/bin/install -c -m 644 newlib.h /work/builds/install/arm-none-eabi/include/newlib.h; \
/bin/bash /work/local-checkouts/binutils-fsf/newlib/../mkinstalldirs /work/builds/install/arm-none-eabi/include/machine; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/include/machine/*.h; do \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/machine/`basename $i`; \
done; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/machine/arm/machine/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/machine/`basename $i`; \
else true; fi ; \
done; \
/bin/bash /work/local-checkouts/binutils-fsf/newlib/../mkinstalldirs /work/builds/install/arm-none-eabi/include/rpc; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/include/rpc/*.h; do \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/rpc/`basename $i`; \
done; \
/bin/bash /work/local-checkouts/binutils-fsf/newlib/../mkinstalldirs /work/builds/install/arm-none-eabi/include/sys; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/include/sys/*.h; do \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/sys/`basename $i`; \
done; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/machine/arm/sys/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/sys/`basename $i`; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/machine/arm/include/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/`basename $i`; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/sys/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/sys/`basename $i`; \
else true; fi ; \
done ; \
/bin/bash /work/local-checkouts/binutils-fsf/newlib/../mkinstalldirs /work/builds/install/arm-none-eabi/include/bits; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/bits/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/bits/`basename $i`; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/machine/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/machine/`basename $i`; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/include/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/`basename $i`; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/include/*; do \
if [ -d $i ]; then \
for j in $i/*.h; do \
/usr/bin/install -c -m 644 $j /work/builds/install/arm-none-eabi/include/`basename $i`/`basename $j`; \
done ; \
else true; fi ; \
done ; \
for i in /work/local-checkouts/binutils-fsf/newlib/libc/sys/arm/machine/arm/include/*.h; do \
if [ -f $i ]; then \
/usr/bin/install -c -m 644 $i /work/builds/install/arm-none-eabi/include/machine/`basename $i`; \
else true; fi ; \
done ; \
for i in rpc/types.h rpc/xdr.h; do \
if [ -f /work/builds/install/arm-none-eabi/include/$i]; then \
-rm /work/builds/install/arm-none-eabi/include/$i; \
else true; fi ; \
done ; \
else true; fi
/bin/bash: line 67: [: missing `]'
The failure is in the final if clause that tests to see if rpc/types.h
and rpc/xdr.h have been installed, and then removes them. I believe
there should be whitespace before the ] in the test condition, and no
'-' before the rm command.
The attached patch fixes these. I have tested this by building newlib
for arm-none-eabi.
The code I am modifying was initially added by the patch discussed here:
http://sourceware.org/ml/newlib/2011/msg00017.html
Thanks,
Matt
--
Matthew Gretton-Dann
Principal Engineer - PDSW Tools
ARM Ltd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1105-newlib.patch
Type: text/x-patch
Size: 1010 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20110519/c5ea9b1b/attachment.bin>
More information about the Newlib
mailing list