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.