h6. [[Developer documentation]] h6(. » Building RISC OS Frequently Asked Questions Here are some very quick questions answered regarding the RISC OS build process: h5(#top). General questions h6(. "Some directories are failing to be created during the build process. What's going on?":#directoriesfailingtobecreated h6(. "Why am I having problems with perl scripts in the build process?":#problemswithperlscripts h6(. "A component doesn't seem to build because there are some header files missing...":#doesntbuildheaderfilesmissing h6(. "What other relevant documentation should I read?":#otherrelevantdocumentation h3(#directoriesfailingtobecreated). Some directories are failing to be created during the build process. What's going on? 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 @!Boot.Library@). h6(. "^ Top":#top h3(#problemswithperlscripts). Why am I having problems with perl scripts in the build process? 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 info@riscosopen.org. h6(. "^ Top":#top h3(#doesntbuildheaderfilesmissing). A component doesn't seem to build because there are some header files missing... 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. h6(. "^ Top":#top h3(#otherrelevantdocumentation). What other relevant documentation should I read? * [[Beginner's guide to ROM builds]] * "Problems building OMAP ROM":http://www.riscosopen.org/forum/forums/5/topics/355 thread * "Compiling Edit":https://www.riscosopen.org/forum/forums/5/topics/514#posts-5257 h6(. "^ Top":#top