[arm-android] : "No rule to make target `uuchar.ppu', needed by `fpc_units"


<h3><details><summary>Original Reporter info from Mantis: <small>takeda99</small></summary><small>

- **Reporter name:** Takeda Matsuki
</small></details></h3>

## Description:

Here chunk of output log :

....<br/>
make[5]: Leaving directory `d:/freepascal271/rtl/win32'<br/>
make[4]: Leaving directory `d:/freepascal271/rtl'<br/>
make[3]: Leaving directory `d:/freepascal271/compiler'<br/>
make 'FPC=d:/freepascal271/compiler/ppc.exe' OS_TARGET=win32 CPU_TARGET=i386 PPC<br/>
_TARGET=arm EXENAME=ppcrossarm.exe CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTST<br/>
RAP=1 cycleclean compiler CYCLELEVEL=2<br/>
make[3]: Entering directory `d:/freepascal271/compiler'<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -rf units<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.p<br/>
pl<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -rf *.sl<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f fpcmade.* Package.fpc ppas.bat sc<br/>
ript.res link.res<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *_ppas.bat<br/>
make -C utils cleanall<br/>
make[4]: Entering directory `d:/freepascal271/compiler/utils'<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe<br/>
ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o pp<br/>
umove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a<br/>
libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppu<br/>
files.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimp<br/>
mkx86ins.a<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f units/i386-win32/ppu.ppu units/i3<br/>
86-win32/crc.ppu units/i386-win32/usubst.ppu<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -rf units<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.p<br/>
pl<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -rf *.sl<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f fpcmade.* Package.fpc ppas.bat sc<br/>
ript.res link.res<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *_ppas.bat<br/>
make[4]: Leaving directory `d:/freepascal271/compiler/utils'<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -rf arm/units<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f arm/*.o arm/*.ppu arm/*.rst arm/*<br/>
.s arm/*.a arm/*.dll arm/*.ppl<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f arm/ppc386.exe arm/ppc68k.exe arm<br/>
/ppcx64.exe arm/ppcppc.exe arm/ppcsparc.exe arm/ppcppc64.exe arm/ppcarm.exe arm/<br/>
ppcmips.exe arm/ppcmipsel.exe arm/ppcjvm.exe arm/ppcrossarm.exe<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f ppcrossarm.exe<br/>
d:/freepascal271/binutils/i386-win32/gmkdir.exe -p arm/units/i386-win32<br/>
d:/freepascal271/compiler/ppc.exe -Ur -Xs -O2 -n -Fuarm -Fusystems -Fud:/freepas<br/>
cal271/rtl/units/i386-win32 -Fiarm -FE. -FUarm/units/i386-win32 -dRELEASE    -da<br/>
rm -dGDB -dBROWSERLOG  -Sew pp.pas<br/>
d:/freepascal271/binutils/i386-win32/mv.exe -f ./pp.exe ppcrossarm.exe<br/>
make[3]: Leaving directory `d:/freepascal271/compiler'<br/>
make 'FPC=d:/freepascal271/compiler/ppcrossarm.exe' 'OPT= ' rtlclean rtl CYCLELE<br/>
VEL=3<br/>
make[3]: Entering directory `d:/freepascal271/compiler'<br/>
make -C d:/freepascal271/rtl clean<br/>
make[4]: Entering directory `d:/freepascal271/rtl'<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f fpcmade.arm-android Package.fpc p<br/>
pas.bat script.res link.res<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *.s *_ppas.sh<br/>
make -C android clean<br/>
make[5]: Entering directory `d:/freepascal271/rtl/android'<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f d:/freepascal271/rtl/units/arm-an<br/>
droid/prt0.o d:/freepascal271/rtl/units/arm-android/dllprt0.o<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f d:/freepascal271/rtl/units/arm-an<br/>
droid/system.ppu d:/freepascal271/rtl/units/arm-android/uuchar.ppu d:/freepascal<br/>
271/rtl/units/arm-android/unixtype.ppu d:/freepascal271/rtl/units/arm-android/ct<br/>
ypes.ppu d:/freepascal271/rtl/units/arm-android/baseunix.ppu d:/freepascal271/rt<br/>
l/units/arm-android/strings.ppu d:/freepascal271/rtl/units/arm-android/objpas.pp<br/>
u d:/freepascal271/rtl/units/arm-android/macpas.ppu d:/freepascal271/rtl/units/a<br/>
rm-android/iso7185.ppu d:/freepascal271/rtl/units/arm-android/syscall.ppu d:/fre<br/>
epascal271/rtl/units/arm-android/unixutil.ppu d:/freepascal271/rtl/units/arm-and<br/>
roid/fpintres.ppu d:/freepascal271/rtl/units/arm-android/heaptrc.ppu d:/freepasc<br/>
al271/rtl/units/arm-android/lineinfo.ppu d:/freepascal271/rtl/units/arm-android/<br/>
lnfodwrf.ppu d:/freepascal271/rtl/units/arm-android/termio.ppu d:/freepascal271/<br/>
rtl/units/arm-android/unix.ppu d:/freepascal271/rtl/units/arm-android/linux.ppu<br/>
d:/freepascal271/rtl/units/arm-android/initc.ppu d:/freepascal271/rtl/units/arm-<br/>
android/cmem.ppu d:/freepascal271/rtl/units/arm-android/crt.ppu d:/freepascal271<br/>
/rtl/units/arm-android/printer.ppu d:/freepascal271/rtl/units/arm-android/linuxv<br/>
cs.ppu d:/freepascal271/rtl/units/arm-android/sysutils.ppu d:/freepascal271/rtl/<br/>
units/arm-android/typinfo.ppu d:/freepascal271/rtl/units/arm-android/math.ppu d:<br/>
/freepascal271/rtl/units/arm-android/matrix.ppu d:/freepascal271/rtl/units/arm-a<br/>
ndroid/varutils.ppu d:/freepascal271/rtl/units/arm-android/charset.ppu d:/freepa<br/>
scal271/rtl/units/arm-android/character.ppu d:/freepascal271/rtl/units/arm-andro<br/>
id/ucomplex.ppu d:/freepascal271/rtl/units/arm-android/getopts.ppu d:/freepascal<br/>
271/rtl/units/arm-android/errors.ppu d:/freepascal271/rtl/units/arm-android/sock<br/>
ets.ppu d:/freepascal271/rtl/units/arm-android/gpm.ppu d:/freepascal271/rtl/unit<br/>
s/arm-android/serial.ppu d:/freepascal271/rtl/units/arm-android/terminfo.ppu d:/<br/>
freepascal271/rtl/units/arm-android/dl.ppu d:/freepascal271/rtl/units/arm-androi<br/>
d/dynlibs.ppu d:/freepascal271/rtl/units/arm-android/video.ppu d:/freepascal271/<br/>
rtl/units/arm-android/mouse.ppu d:/freepascal271/rtl/units/arm-android/keyboard.<br/>
ppu d:/freepascal271/rtl/units/arm-android/variants.ppu d:/freepascal271/rtl/uni<br/>
ts/arm-android/types.ppu d:/freepascal271/rtl/units/arm-android/dateutils.ppu d:<br/>
/freepascal271/rtl/units/arm-android/sysconst.ppu d:/freepascal271/rtl/units/arm<br/>
\-android/fmtbcd.ppu d:/freepascal271/rtl/units/arm-android/cthreads.ppu d:/freep<br/>
ascal271/rtl/units/arm-android/classes.ppu d:/freepascal271/rtl/units/arm-androi<br/>
d/fgl.ppu d:/freepascal271/rtl/units/arm-android/convutils.ppu d:/freepascal271/<br/>
rtl/units/arm-android/stdconvs.ppu d:/freepascal271/rtl/units/arm-android/struti<br/>
ls.ppu d:/freepascal271/rtl/units/arm-android/rtlconsts.ppu d:/freepascal271/rtl<br/>
/units/arm-android/dos.ppu d:/freepascal271/rtl/units/arm-android/objects.ppu d:<br/>
/freepascal271/rtl/units/arm-android/cwstring.ppu d:/freepascal271/rtl/units/arm<br/>
\-android/fpcylix.ppu d:/freepascal271/rtl/units/arm-android/clocale.ppu d:/freep<br/>
ascal271/rtl/units/arm-android/exeinfo.ppu d:/freepascal271/rtl/units/arm-androi<br/>
d/syslinux.ppu d:/freepascal271/rtl/units/arm-android/linux.ppu<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f d:/freepascal271/rtl/units/arm-an<br/>
droid/math.rst d:/freepascal271/rtl/units/arm-android/varutils.rst d:/freepascal<br/>
271/rtl/units/arm-android/typinfo.rst d:/freepascal271/rtl/units/arm-android/var<br/>
iants.rst d:/freepascal271/rtl/units/arm-android/sysconst.rst d:/freepascal271/r<br/>
tl/units/arm-android/rtlconsts.rst d:/freepascal271/rtl/units/arm-android/stdcon<br/>
vs.rst<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f fpcmade.arm-android Package.fpc p<br/>
pas.bat script.res link.res<br/>
d:/freepascal271/binutils/i386-win32/rm.exe -f *.s *_ppas.sh<br/>
make[5]: Leaving directory `d:/freepascal271/rtl/android'<br/>
make[4]: Leaving directory `d:/freepascal271/rtl'<br/>
make -C d:/freepascal271/rtl 'OPT=  ' all<br/>
make[4]: Entering directory `d:/freepascal271/rtl'<br/>
make -C android all<br/>
make[5]: Entering directory `d:/freepascal271/rtl/android'<br/>
d:/freepascal271/binutils/i386-win32/gmkdir.exe -p d:/freepascal271/rtl/units/ar<br/>
m-android<br/>
D:\freepascal271\binutils\aw-bincross\aw-win32-arm-android-III/arm-linux-android<br/>
eabi-as.exe  -o d:/freepascal271/rtl/units/arm-android/prt0.o arm/prt0.as<br/>
D:\freepascal271\binutils\aw-bincross\aw-win32-arm-android-III/arm-linux-android<br/>
eabi-as.exe  -o d:/freepascal271/rtl/units/arm-android/dllprt0.o arm/dllprt0.as<br/>
d:/freepascal271/compiler/ppcrossarm.exe -Ur -Tandroid -Parm -XParm-linux-androi<br/>
deabi- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -Fi../linux -Fi.<br/>
./linux/arm -FDD:\freepascal271\binutils\aw-bincross\aw-win32-arm-android-III -F<br/>
E. -FUd:/freepascal271/rtl/units/arm-android -darm -dRELEASE  -Us -Sg ../linux/s<br/>
ystem.pp<br/>
text.inc(1793,14) Warning: Implicit string type conversion from "AnsiString" to<br/>
"UnicodeString"<br/>
text.inc(2017,44) Warning: Implicit string type conversion with potential data l<br/>
oss from "UnicodeString" to "AnsiString"<br/>
make[5]: *** No rule to make target `uuchar.ppu', needed by `fpc_units'.  Stop.<br/>
make[5]: Leaving directory `d:/freepascal271/rtl/android'<br/>
make[4]: *** [android_all] Error 2<br/>
make[4]: Leaving directory `d:/freepascal271/rtl'<br/>
make[3]: *** [rtl] Error 2<br/>
make[3]: Leaving directory `d:/freepascal271/compiler'<br/>
make[2]: *** [cycle] Error 2<br/>
make[2]: Leaving directory `d:/freepascal271/compiler'<br/>
make[1]: *** [compiler_cycle] Error 2<br/>
make[1]: Leaving directory `d:/freepascal271'<br/>
make: *** [build-stamp.arm-android] Error 2

d:\freepascal271>

## Steps to reproduce:

I tried to build compiler for target arm-android from Windows using this script :

\-------------------------------------------------

cd d:\freepascal271

set myroot=d:\freepascal271<br/>
set myFPC=d:\freepascal271\fpc\2.7.1<br/>
set mybinutils=d:\freepascal271\binutils<br/>
set mycrossbin=D:\freepascal271\binutils\aw-bincross\aw-win32-arm-android-III

set PATH=d:\freepascal271\binutils\i386-win32;D:\freepascal271\binutils\aw-bincross\aw-win32-arm-android-III;d:\freepascal271\fpc\2.7.1\bin\i386-win32;

make clean all OS_TARGET=android CPU_TARGET=arm crossinstall CROSSBINDIR=%mycrossbin% BINUTILSPREFIX=arm-linux-androideabi- INSTALL_PREFIX=%myFPC% DATA2INC=%myfpc%\utils\data2inc.exe

\--------------------------------------------------

Notes :<br/>
1. I use FPC 2.6.0 as starting compiler and use NDK8d ToolChains (arm-linux-androideabi)

2. I use Windows 7 Ultimate x64 SP1

3. AMD A8 APU Processor with AHCI-System enabled.

Regards,<br/>
Takeda

## Mantis conversion info:

- **Mantis ID:** 23911
- **OS:** Windows 7 Ultimate x64 SP1
- **OS Build:** 6.1
- **Build:** 23625
- **Platform:** arm-android
- **Version:** 2.7.1
- **Fixed in version:** 3.0.0
- **Fixed in revision:** 23635 (#c27dcfd5b17677db1d8897e1f45d4c7ce0f8ea49)

Story points: 200.0