Here are some very quick questions answered regarding the RISC OS build process:
This is usually because
mkdir isn’t working correctly. We have a tool called
mkdir in the
RiscOS.Library.UNIX directory which is a simple port of the UNIX
mkdir command, including the ”-p” switch which means create parent directories if they also don’t exist.
Some people already have a utility called
mkdir installed on their system that doesn’t implement the -p switch, or they have an alias for
mkdir which simply calls
cdir, both of which stops our one from being run.
Check for the alias being set or another version of mkdir being present on your machine (e.g. in
This can often be because the version of perl installed on your machine is different (often much newer) than the one supplied in the RISC OS BBE.
Many of the perl scripts in the build process only work well with that particular version. You should unset all perl-related system variables and run
RiscOS.Apps.!perl manually to ensure that the correct version of perl is available to the build process.
If anyone out there wants to update our perl scripts to work on a current port of perl, they should get in touch with us at firstname.lastname@example.org.
The RISC OS build environment has a directory called
RiscOS.Export which is a shared location into which components export header files and library binaries.
You should try to ensure that this directory is fully populated before you start working on a component. Load the
RiscOS.Apps.!Builder application and run the “export headers” and “export libraries” phases on a “Disc” build.
If you look in various Makefiles within a component’s sources, you will notice phases called export_hdrs and export_libs which perform this export operation.
Finally, it’s possible the component is not in a working state. This may be due to recent changes making it fail to build which will usually be resolved by the developer concerned, or because the component isn’t actively participating in any of nightly builds so nobody’s noticed for months or even years.