The first step is to see how we can compile a user-space tool. This could be useful because it may happen that a specific tool is missing in our distribution or we may need to work around package version problems; in these cases, we need to know some basic techniques to work around these problems. To show the difference between a native compilation and a cross-compilation, I will explain both the methods. However, a word of caution for you here, this guide is not exhaustive at all. In fact, the cross-compilation steps may vary according to the software packages we are going to cross-compile.
The package that we are going to use is the PicoC interpreter. All Real Programmers (TM) know the C compiler, which is normally used to translate a C program into machine language, but (maybe) not all of them know that a C interpreter exists too.