So, next I uninstalled all the GCC stuff (GCC, GCC-2.95, CPP, CPP-2.95) and Make, and then generally tidied up (residual experimental directories) to attempt to get back to a base state.
Instead of installing packages via PackMan (with the aforementioned package list built by RiscPkg!), I unpacked gccsdk-gcc-core-bin into $.Apps.Programming, and followed your steps exactly.
When I got to the merging of the System directory I figured you meant to run the System config utility, which seems right as this accepts a drop and has a Merge button. I'm curious what this does though as I note the !System folder in the expanded gcc distribution has a "310" directory, which sounds like its intended for the Archimedes 310, but maybe it works on all platforms since.
Anyway, when I got to testing "gcc -v" at the command prompt, I got the error:
File 'SharedLibs:SOM1stRun' not found
However, there's a "!SharedLibs" directory in this distribution at the same level as !GCC, so I figured that was worth a double-click. Sure enough, that results in a working "gcc -v" (again, no need to 'wimpslot' so far for me).
I notice that the message printed by gcc -v is vastly more verbose than when I did the same in the package-manager installed GCC. I now get a whole list of configuration information, as well as the gcc version (reported as 4.1.2 Release 2).
A simple "gcc c.helloworld" in my project directory (which btw is in a completely different part of the directory hierarchy to the GCC installation) then resulted in a working a/out file in the current (project) directory.
So I now have a working gcc system (at least to some level). Hurrah!
It's tempting to make the following conclusions from my experiments:
1. My downloaded RiscPkg and the 'standard' PackMan interact in a potentially bad way by apparently sharing local data, but getting their package lists from different servers (which serve different packages too).
2. The GCC versions, or at least configurations, of the two approaches (package-manager installation vs manual installation) seem different.
3. Just using the package-managers in the way I did was insufficient to arrive at a working version of the compiler suite. The resulting 'Fatal error 33' might have been recoverable I suppose, but certainly I have no idea what that means and therefore no way to even guess at what components might be missing or misconfigured.
Based on experience, my amended version of your steps is:
[0) I already had the 'UnixSharedLibs' (which I believe are required) when I installed Perl from !Packman.]
1) Download 'gccsdk-gcc-core-bin.zip' from http://www.riscos.info/downloads/gccsdk/latest/
2) Extract the zip into the Apps/Programming folder (this being the place where package managers choose to locate GCC)
3) Merge the !System folder - Middle click the Raspberry icon on the right of the task bar and select Configure which opens a window, double-left-click to open the "System" utility, drag the !System folder from Apps/Programming to its window and click 'Merge'.
4) Double-left-click the !GCC icon - I believe this sets up the path to the compiler.
5) Double-left-click the !SharedLibs icon - I believe this sets up libraries used by the compiler.
6) Create a 'myproj' folder in a directory of your choice and create folders for source 'c', headers 'h' and object files 'o' inside this. Copy the 'helloworld' file from the Example/C/c directory in the zip to myproj.c (the 'c' directory under 'myproj').
7) Open a Task Window (from the Raspberry icon on the task bar).
8) Navigate to your myproj directory (DIR $.<your path>.myproj).
9) Type 'gcc -v' - displays the GCC version along with current configuration information.
At the time of writing the reported version of the gcc wrapper is 2.1.4 Release 2.
10) If instead of the configuration and version information you receive an error about the amount of memory needed to run gcc then type 'wimpslot 6000K' - which should fix the problem, and then 'gcc -v' should report version information. wimpslot sets up the memory allocated to the next task to be executed.
11) To compile 'helloworld' type 'gcc c.helloworld' - which will result in an executable file called 'a/out' in the current directory ('myproj'). Alternatively, type 'gcc c.helloworld -o helloworld' to produce the appropriately named executable in the current directory.