I have got a make file project which uses several tools such as cppcheck or asn1c. There are several developers which use this project on their local custom linux machines. The problem is, that every linux machine has a different version of the needed tools. So for example one developer has cppcheck 1.8 and another on has installed 1.6. Now I run into trouble because the different versions of the tools have different behavior. For example some developer run successfully through cppcheck and some do not.
So I ask how to handle different versions of dependencies?
I have got some Ideas:
- Adding the source code of the tools to the project and compile the tools before running the build process itself.
- Compiling the tools statically and add the binary to the project. Thus every developer would use the exact same binary.
- Give a virtual machine or a remote access to every developer. Thus every one uses the same environment
- Instruct all developers which Linux distribution to use and to keep their system up to date.