{"action":"created","issue":{"url":"https://api.github.com/repos/BVLC/caffe/issues/4121","repository_url":"https://api.github.com/repos/BVLC/caffe","labels_url":"https://api.github.com/repos/BVLC/caffe/issues/4121/labels{/name}","comments_url":"https://api.github.com/repos/BVLC/caffe/issues/4121/comments","events_url":"https://api.github.com/repos/BVLC/caffe/issues/4121/events","html_url":"https://github.com/BVLC/caffe/pull/4121","id":154032354,"number":4121,"title":"(CMake) customisable version/soversion","user":{"login":"rayglover-ibm","id":19191468,"avatar_url":"https://avatars.githubusercontent.com/u/19191468?v=3","gravatar_id":"","url":"https://api.github.com/users/rayglover-ibm","html_url":"https://github.com/rayglover-ibm","followers_url":"https://api.github.com/users/rayglover-ibm/followers","following_url":"https://api.github.com/users/rayglover-ibm/following{/other_user}","gists_url":"https://api.github.com/users/rayglover-ibm/gists{/gist_id}","starred_url":"https://api.github.com/users/rayglover-ibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayglover-ibm/subscriptions","organizations_url":"https://api.github.com/users/rayglover-ibm/orgs","repos_url":"https://api.github.com/users/rayglover-ibm/repos","events_url":"https://api.github.com/users/rayglover-ibm/events{/privacy}","received_events_url":"https://api.github.com/users/rayglover-ibm/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-10T15:13:51Z","updated_at":"2016-05-10T16:21:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/BVLC/caffe/pulls/4121","html_url":"https://github.com/BVLC/caffe/pull/4121","diff_url":"https://github.com/BVLC/caffe/pull/4121.diff","patch_url":"https://github.com/BVLC/caffe/pull/4121.patch"},"body":"In the CMake configuration, the `libcaffe.so` soname, derived from the `CAFFE_TARGET_SOVERSION` variable [here] (https://github.com/BVLC/caffe/blob/master/CMakeLists.txt#L14), contains the `0-rc3` patch/revision information.\r\n\r\nAFAIK this is against the general convention (described [here](http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html) and other places), and has caused me a few issues, e.g. with CMake (when creating the symlink-chain through `cmake build . --target install`) and Bazel (when including Caffe as a pre-built external project) both of which prefer the more canonical soname form: `lib{name}.so.{number}`. \r\n\r\nThis complicates the scenario when I want to maintain multiple versions of Caffe on the same machine, as shared libraries. Rather than changing the soname itself, I suggest the relevant variable is made customisable at the command line, which regardless I think is more generally useful."},"comment":{"url":"https://api.github.com/repos/BVLC/caffe/issues/comments/218211512","html_url":"https://github.com/BVLC/caffe/pull/4121#issuecomment-218211512","issue_url":"https://api.github.com/repos/BVLC/caffe/issues/4121","id":218211512,"user":{"login":"lukeyeager","id":687269,"avatar_url":"https://avatars.githubusercontent.com/u/687269?v=3","gravatar_id":"","url":"https://api.github.com/users/lukeyeager","html_url":"https://github.com/lukeyeager","followers_url":"https://api.github.com/users/lukeyeager/followers","following_url":"https://api.github.com/users/lukeyeager/following{/other_user}","gists_url":"https://api.github.com/users/lukeyeager/gists{/gist_id}","starred_url":"https://api.github.com/users/lukeyeager/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukeyeager/subscriptions","organizations_url":"https://api.github.com/users/lukeyeager/orgs","repos_url":"https://api.github.com/users/lukeyeager/repos","events_url":"https://api.github.com/users/lukeyeager/events{/privacy}","received_events_url":"https://api.github.com/users/lukeyeager/received_events","type":"User","site_admin":false},"created_at":"2016-05-10T16:21:21Z","updated_at":"2016-05-10T16:21:21Z","body":"> AFAIK this is against the general convention\r\n\r\n> This complicates the scenario when I want to maintain multiple versions of Caffe on the same machine, as shared libraries. \r\n\r\nI totally agree. See discussion here for why the current versions were chosen:\r\nhttps://github.com/BVLC/caffe/pull/3311#issuecomment-174093672\r\n\r\nI support merging this PR as it simply allows users to choose their own versioning scheme. Afterwards, I'd still like to have a discussion about setting up a proper versioning scheme for mainstream Caffe."}}