It seems to me, ARM isn't the prefered target platform of most users. I didn't get any respond to my questions. Anyway, I would appreciate an updated tutorial. Maybe that helps growing the community.
Some notes from my experiences. First, I would suppose that fpc is installed, updated and used correctly. Omit the part until arm-linux from your tutorial. By the way, you say v2.2.4 and use 2.5.1. You just create Binutils and not Newlib. This have be done to have more function than "writeln" only. Actually, I appended some more options to configure binutils. Don't "cp" use "ln". I'm confused with your compiler name "ppcarm" instead of "ppcrossarm". I thought "cross" comes from the options crossinstall. You insert ARM options (i.e. -CfSOFT -CaEABI) into the fpc.cfg but add them to compilation too. Perhaps both are not needed since you created the compiler with them. AT least, a good tutorial should provide informations about the applied options. Why do you insert them, what happens, where are the files etc.My procedure with binutils is as follows. I'm running Ubuntu where Synaptic or apt-get can be used to access repositories. How to create an ARM Toolchain is from the german wiki http://wiki.ubuntuusers.de/GNU_ARM-Toolchain
Why do you use "--target=arm-elf" instead of"--target=arm-linux"?
QuoteWhy do you use "--target=arm-elf" instead of"--target=arm-linux"?Binutils make procedure did give that names. I don't want to go more in detail but did you build newlib as well? And, if you read my post carefully you will see that I failed with creating binutils by myself.
Enable amr-linux cross compiling:1) Compile binutils for arm-linux; if not already done, extract binutils-2.20.tar.gz in: ~/fpc_tools/binutils-2.202) cd ~/fpc_tools/binutils-2.203) ./configure --target=arm-linux --disable-werror4) make5) sudo make install
~/dev/gp2xdemo$ ppcarm gp2x_tutorial.dprFree Pascal Compiler version 2.5.1 [2009/12/11] for armCopyright (c) 1993-2009 by Florian KlaempflTarget OS: Linux for ARMCompiling gp2x_tutorial.dprAssembling gp2x_tutorialLinking gp2x_tutorial/home/kjow/lazarus/fpc/binutils/ld: cannot find -lSDLgp2x_tutorial.dpr(137,45) Error: Error while linkinggp2x_tutorial.dpr(137,45) Fatal: There were 1 errors compiling module, stoppingFatal: Compilation aborted
ppcarm -Xd -CaEABI -CfSOFT -CpARMV5 gp2x_tutorial.dprFree Pascal Compiler version 2.5.1 [2009/12/11] for armCopyright (c) 1993-2009 by Florian KlaempflTarget OS: Linux for ARMCompiling gp2x_tutorial.dprAssembling gp2x_tutorialLinking gp2x_tutorial/home/kjow/lazarus/fpc/binutils/ld: skipping incompatible /usr/lib/libSDL.so when searching for -lSDL/home/kjow/lazarus/fpc/binutils/ld: skipping incompatible /usr/lib/libSDL.a when searching for -lSDL/home/kjow/lazarus/fpc/binutils/ld: cannot find -lSDLgp2x_tutorial.dpr(137,45) Error: Error while linkinggp2x_tutorial.dpr(137,45) Fatal: There were 1 errors compiling module, stoppingFatal: Compilation aborted
Recompiling WSLCLClasses, checksum changed for LCLProcwslclclasses.pp(32,56) Fatal: Can't find unit WSLCLClasses used by LCLClasses
I never used Maemo but can't you simply use ldconfig to generate missing symlinks?