Update: Anonymous says all I needed to do was:
opkg install task-native-sdk, thanks!
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.
First try:
"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):
http://ro-lf.svn.sourceforge.net/viewvc/ro-lf/ROLF/rolf/?view=tar
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!
4 Comments:
There is a single package you can use to install. I don't recall if it is task-native-sdk or task-sdk-native. A bit of Googling turned up an interesting wiki page.
Your statement about angstrom not including a toolchain if false.
Firstly, you can go to http://narcissus.angstrom-distribution.org/ and generate a rootfs that contains one.
Secondly, if angstrom didn't include a native toolchain, you wouldn't be able to install it using opkg from the angstrom feeds.
And finally, 'opkg install task-native-sdk'
OK, you're right. It's the demo image here that doesn't include a native toolchain (which, as I said, is OK, it being a lightweight distribution). I was complaining that it wasn't easy to get one running with opkg.
The opkg package management worked fine, but surely it doesn't need a toolchain to work, unless all downloads are of source and compiled locally?
> And finally, 'opkg install task-native-sdk'
That's almost certainly what I was looking for, thanks.
Me, again.
Re-reading your message it's clear that your second point was that if something is included in the angstrom opkg feed, it's part of the angstrom distribution.
Fair enough; it comes down to how you define a distribution, and I can't say mine's any better than yours.
Post a Comment
Subscribe to Post Comments [Atom]
<< Home