<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 25 Jun 2014, at 13:21, Lukas Gradl wrote:</div><div><br></div><blockquote type="cite"><span class="Apple-style-span" style="font-family: monospace; ">ANDROIDBINDIR="~/Software/Android_Development/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin"</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">export PATH=$ANDROIDBINDIR:$PATH</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">make crossall CPU_TARGET=arm OS_TARGET=android FPC=$FPCBIN CROSSOPT=-CfVFPV3 CROSSBINDIR=$ANDROIDBINDIR BINUTILSPREFIX=arm-linux-androideabi-</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">The script stops with:</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; "><br></span></blockquote><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="font-family: monospace; ">/bin/mkdir -p /space/projekte/Sourcen/fpc27/rtl/units/arm-android<br>~/Software/Android_Development/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as  -o /space/projekte/Sourcen/fpc27/rtl/units/arm-android/prt0.o arm/prt0.as<br>~/Software/Android_Development/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as  -o /space/projekte/Sourcen/fpc27/rtl/units/arm-android/dllprt0.o arm/dllprt0.as<br>/space/projekte/Sourcen/fpc27/compiler/ppcrossarm -Ur -Tandroid -Parm -XParm-linux-androideabi- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -Fi../linux -Fi../linux/arm -FD~/Software/Android_Development/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin -FE. -FU/space/projekte/Sourcen/fpc27/rtl/units/arm-android -darm -dRELEASE -CfVFPV3 -Us -Sg ../linux/system.pp<br>system.inc(1804,8) Warning: Implicit string type conversion from "RawByteString" to "UnicodeString"<br>system.pp(376) Error: Assembler arm-linux-androideabi-as not found, switching to external assembling<br>system.pp(376) Fatal: There were 1 errors compiling module, stopping<br>Fatal: Compilation aborted<br><br><br>So, prt0.o is built, dllprt0.o as well, but for system.pp it fails.<br></span></span></blockquote></div><br><div>It's because your ANDROIDBINDIR/CROSSBINDIR setting is wrong. You are using the "~" character to denote your home directory, but</div><div>a) you are quoting the string that you assign to ANDROIDBINDIR, so you are telling the shell that it must not perform certain substitutions. One of those it doesn't perform, is changing "~" into the full path to your home directory. This is a very important point: the equivalence of "~" and your home directory is a *unix shell convention* (just like ";" means "separator between two separate commands"), it is not (or at least should not be) interpreted in a special way by any other program</div><div>b) "make" uses a shell for external invocations, so you're just lucky there that the shell is invoked a second time (without a quoted version of that environment variable), so it can substitute the ~ at that point</div><div>c) FPC directly executes programs and hence no ~-substitution will happen</div><div><br></div><div>FPC cannot be modified to substitute ~ with the value of $HOME, because apart from the fact that it's not a shell, a literal "~" is also a valid directory name.</div><div><br></div><div>The proper alternative is to use $HOME instead (as long as you don't use single quotes).</div><div><br></div><div><br></div><div>Jonas</div></body></html>