Update: Anonymous says all I needed to do was: opkg install task-native-sdk
These are some quick notes that I intend to update when I have (a) time, and/or (b) a working build.
Tha Angstrom distribution doesn't include a native toolchain (it's meant to be light-weight, so that's OK). It does, however, mean you need to use the opkg package manager a lot
"opkg install gcc"... This works.
"gcc x.c"... command not found - what?
"opkg install gcc-symlinks"... Ah! gcc now exists!
Here's part of today's bash history:
87 opkg install gcc
88 opkg install gcc
93 opkg install binutils binutils-symlinks cpp cpp-symlinks
95 opkg install libc-6
96 opkg install libc6-dev
107 opkg install libmagic
109 opkg install libmagic-dev
110 opkg install file
111 opkg install file-dev
115 opkg install ccache
117 opkg install install
118 opkg install libtool-symlink
119 opkg install libtool-symlinks
121 opkg install coreutils
128 opkg install freetype2-dev
129 opkg install freetype-dbg
131 opkg install freetype-dbg
147 opkg install libjpeg-dev
148 opkg install libpng-dev
152 opkg install pkg-config
154 opkg install pkg-config
174 opkg install eval
195 opkg install bash
215 opkg install stl
218 opkg install c++
221 opkg install g++ g++-symlinks
223 opkg install libstdc++-dev
Some worked, some didn't. But I think the combination of all of them has given me enough programs and libraries to build ROLF without RISC OS compatibility.
I also had to set up these symbolic links for libraries:
ln -s libfreetype.so.6 /usr/lib/libfreetype.so
ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
As the applications were supposed to be linked, there was a problem with libtool; the generated static libraries contained only the text "! < a r c h >" (without the spaces), which turned out to be because the /bin/sh link was to /bin/busybox, not /bin/bash (which was already installed). For search engines: there were several lines like: "eval: 1: libtool_args+=: not found".
ln -sf bash /bin/sh
I've noticed you can get a tarball of rolf code using the following URL (which means you don't have to install SVN to build it):
The code needs modifying to get it to build, including removing the agp specific code and also the compatibility library, for the time being. The signal handlers in the compatibiity code need modifying to cope with ARM registers, rather than x86. Also, run_arm_code, and similar routines should be replacable with a simple jump to the code - a kernel patch by Jan Rinze will provide a signal on non-Linux system calls, allowing the compatibilty library to handle RISC OS system calls in-process.
I'm really hoping we can get this to work!