<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 08/15/2015 08:46 PM, Chris Moody
      wrote:<br>
    </div>
    <blockquote cite="mid:55D007A6.2070809@greensnakedesign.com"
      type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      <br>
      <br>
      <div class="moz-cite-prefix">On 08/15/2015 07:40 PM, Karoly Balogh
        (Charlie/SGR) wrote:<br>
      </div>
      <blockquote
        cite="mid:alpine.DEB.2.02.1508160432540.7280@scenergy.dfmk.hu"
        type="cite">
        <pre wrap="">Hi,

On Sat, 15 Aug 2015, Chris Moody wrote:

</pre>
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">Is there a better guide on how to do this than:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://wiki.freepascal.org/fpcup#Linux_ARM_cross_compiler">http://wiki.freepascal.org/fpcup#Linux_ARM_cross_compiler</a> ? specifically
as far as this
sentence is concerned:

  *  Linux/Unix build or install the relevant crossbinutils (Linux, unix)
</pre>
            </blockquote>
            <pre wrap="">With Ubuntu/Debian:
- apt-get install binutils-arm-linux-gnueabihf

**snip**
</pre>
          </blockquote>
          <pre wrap="">Thanks for that Charlie, I now have that installed. Do I have to do the
compile with fpc? or can I do it via Lazarus?
</pre>
        </blockquote>
        <pre wrap="">I'm pretty sure it's possible with Lazarus, but I can't give exact
instructions, because I rarely use Lazarus, I prefer using the compiler
itself directly from the command line.

However, this page has some pointers:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://wiki.lazarus.freepascal.org/Setup_Cross_Compile_For_ARM#Make_your_first_arm-linux_project_in_Lazarus">http://wiki.lazarus.freepascal.org/Setup_Cross_Compile_For_ARM#Make_your_first_arm-linux_project_in_Lazarus</a>

Charlie
_______________________________________________

</pre>
      </blockquote>
      Looks like I need to recompile FPC (or make a special compile of
      it) to be able to compile to ARM. <br>
      <br>
      That URL you gave me says how to compile it, but not sure about if
      I need to have some special cross compile code for the
      CROSSBINDIR=/home/user/lazarus/fpc/binutils/ portion of it, or do
      I just point it to where Linux installed the items installed with
      apt-get install binutils-arm-linux-gnueabihf ?<br>
      <br>
      Thanks once again!<br>
      <br>
      Chris<br>
    </blockquote>
    <br>
    So I tried to compile a special version of FPC for arm, I installed:
    binutils-2.25<br>
    <br>
    And I got as far as this:<br>
    <br>
    /home/chris/Documents/fp/fpcbuild-2.6.4/binutils/bin/as  -o
    /home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/rtl/units/arm-linux/prt0.o
    arm/prt0.as<br>
    arm/prt0.as: Assembler messages:<br>
    arm/prt0.as:46: Error: unrecognized symbol type ""<br>
    arm/prt0.as:49: Error: expecting operand after ','; got nothing<br>
    arm/prt0.as:50: Error: no such instruction: `ldmia sp!,{a2}'<br>
    arm/prt0.as:53: Error: no such instruction: `ldr
    ip,=operatingsystem_parameter_argc'<br>
    arm/prt0.as:54: Error: no such instruction: `ldr
    a3,=operatingsystem_parameter_argv'<br>
    arm/prt0.as:55: Error: invalid char '[' beginning operand 2 `[ip]'<br>
    arm/prt0.as:58: Error: too many memory references for `add'<br>
    arm/prt0.as:59: Error: too many memory references for `add'<br>
    arm/prt0.as:60: Error: no such instruction: `ldr
    ip,=operatingsystem_parameter_envp'<br>
    arm/prt0.as:62: Error: invalid char '[' beginning operand 2 `[a3]'<br>
    arm/prt0.as:63: Error: invalid char '[' beginning operand 2 `[ip]'<br>
    arm/prt0.as:66: Error: no such instruction: `ldr ip,=__stkptr'<br>
    arm/prt0.as:67: Error: invalid char '[' beginning operand 2 `[ip]'<br>
    arm/prt0.as:69: Error: too many memory references for `sub'<br>
    arm/prt0.as:72: Error: no such instruction: `bl PASCALMAIN'<br>
    arm/prt0.as:75: Error: unrecognized symbol type ""<br>
    arm/prt0.as:78: Error: no such instruction: `swi 0x900001'<br>
    arm/prt0.as:79: Error: no such instruction: `b _haltproc'<br>
    arm/prt0.as:82: Error: unrecognized symbol type ""<br>
    arm/prt0.as:84: Error: no such instruction: `ldr
    r0,=operatingsystem_result'<br>
    arm/prt0.as:85: Error: no such instruction: `ldrb r0,[r0]'<br>
    arm/prt0.as:86: Error: expecting operand after ','; got nothing<br>
    arm/prt0.as:87: Error: no such instruction: `swi 0x0'<br>
    arm/prt0.as:88: Error: no such instruction: `b _haltproc_eabi'<br>
    make[6]: *** [prt0.o] Error 1<br>
    make[6]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/rtl/linux'<br>
    make[5]: *** [linux_all] Error 2<br>
    make[5]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/rtl'<br>
    make[4]: *** [rtl] Error 2<br>
    make[4]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/compiler'<br>
    make[3]: *** [cycle] Error 2<br>
    make[3]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/compiler'<br>
    make[2]: *** [compiler_cycle] Error 2<br>
    make[2]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc'<br>
    make[1]: *** [build-stamp.arm-linux] Error 2<br>
    make[1]: Leaving directory
    `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc'<br>
    make: *** [fpcsrc/build-stamp.arm-linux] Error 2<br>
    <br>
  </body>
</html>