


When building software such as FFmpeg, which takes approximately 35 minutes on an overclocked Pi 3, I use: Note: on a Raspberry Pi 3, running multiple cores at 100 % CPU greatly increases the temperature of the system, leading to ‘thermal regulation’ which reduces the clock speed of the CPU, defeating the gains of using multiple cores. Sudo make -j3 Compiling from source with Make, utilising multiple cores The -j parameter specifies how many cores to use. On a multicore Raspberry Pi (model 2 and 3 Pis have four cores) the build process can be greatly accelerated by utilising more than a single core. The make command triggers the compilation of source code into executable files or libraries by executing a makefile script which has been built by the configure script. Thus, rather than a configure command appearing like this…

This prevents difficulties later with ffmpeg, and other software, being unable to locate the library files whilst this issue can be overcome by setting search paths, this requires additional effort and introduces the risk of incorrect configuration. Rather than using the configure script paramater -prefix to specify a destination folder for the result of the component build, we must remove this to cause each component we build to be output to the default directory of /usr/local. This causes the build process for the component to create shared library file(s), which can be linked to by FFmpeg conventionally such files have an extension of.

When building from source, to generate a shared library the configure script must specify the parameter: -enable-shared The configure script generates the makefile, which contains commands to actually compile an executable or library file.Īs the name suggests, the purpose of the script is to customise the software being built.
