eDeviser
eDeviser

Reputation: 1873

How to handle different versions of dependencies?

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:

  1. Adding the source code of the tools to the project and compile the tools before running the build process itself.
  2. Compiling the tools statically and add the binary to the project. Thus every developer would use the exact same binary.
  3. Give a virtual machine or a remote access to every developer. Thus every one uses the same environment
  4. Instruct all developers which Linux distribution to use and to keep their system up to date.

Upvotes: 0

Views: 854

Answers (1)

Jonathan
Jonathan

Reputation: 817

Set up a dedicated server(s) to handle the builds after they are committed to your versioning system.

This way you can make sure they all use the same versions, you can setup multiple buildservers with different sets of libraries to check against different versions of dependencies or OS-es.

This is a pretty common setup for software development.

See this SO post for the rationale behind it: https://stackoverflow.com/a/1099146/2186184

Upvotes: 2

Related Questions