Bruno Buzzi Brassesco wrote: > What is the logic behind the version number of the project and library ?
The project version is more or less aesthetical - it's for humans and it is not guaranteed to have technical meaning. The library file suffix numbers are generated by libtool, and project developers have a duty to instruct libtool such that these numbers do have technical meaning, specifically, as long as maintainers do this job correctly (as is the case in libssh2) dynamically linked applications work correctly even if they are execute on systems with different versions (both project and .so file) than were used at link time. Some search phrases are "API vs. ABI difference" and "SONAME version". This may seem complicated, the good news is that library users don't need to care about this, and IMO should not. I strongly recommend to use pkg-config in your build system. Run pkg-config --atleast-version=1.9.0 libssh2 in the build system to detect whether libssh2 in your required version is available at build time. Use pkg-config --cflags libssh2 and pkg-config --libs libssh2 to get the CFLAGS and LIBS/LDFLAGS needed to compile for and link with libssh2. The SONAME versioning can be treated as an operating system detail. //Peter _______________________________________________ libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel