{"action":"created","issue":{"url":"https://api.github.com/repos/nanomsg/nanomsg/issues/781","repository_url":"https://api.github.com/repos/nanomsg/nanomsg","labels_url":"https://api.github.com/repos/nanomsg/nanomsg/issues/781/labels{/name}","comments_url":"https://api.github.com/repos/nanomsg/nanomsg/issues/781/comments","events_url":"https://api.github.com/repos/nanomsg/nanomsg/issues/781/events","html_url":"https://github.com/nanomsg/nanomsg/issues/781","id":164801846,"number":781,"title":"soname and version name mix and missmatch in 1.0.0 build on Linux i686","user":{"login":"a4z","id":6172295,"avatar_url":"https://avatars.githubusercontent.com/u/6172295?v=3","gravatar_id":"","url":"https://api.github.com/users/a4z","html_url":"https://github.com/a4z","followers_url":"https://api.github.com/users/a4z/followers","following_url":"https://api.github.com/users/a4z/following{/other_user}","gists_url":"https://api.github.com/users/a4z/gists{/gist_id}","starred_url":"https://api.github.com/users/a4z/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a4z/subscriptions","organizations_url":"https://api.github.com/users/a4z/orgs","repos_url":"https://api.github.com/users/a4z/repos","events_url":"https://api.github.com/users/a4z/events{/privacy}","received_events_url":"https://api.github.com/users/a4z/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-07-11T10:03:49Z","updated_at":"2016-11-24T04:12:02Z","closed_at":null,"body":"build machine RHEL 6.8 32bit\ndownloaded this: https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz\n\nbuild and install, result in those library files\n\n```\n[me@computer lib]$ ls -l libnanomsg*\nlrwxrwxrwx 1 root root     19 Jul 11 11:23 libnanomsg.so -> libnanomsg.so.5.0.0\n-rwxr-xr-x 1 root root 357851 Jul 11 11:23 libnanomsg.so.1.0.0\nlrwxrwxrwx 1 root root     19 Jul 11 11:23 libnanomsg.so.5.0.0 -> libnanomsg.so.1.0.0\n\n```\n\nI think this is wrong and should be \n\n```\nlibnanomsg.so -> libnanomsg.so.1.0\nlibnanomsg.so.1.0 -> libnanomsg.so.1.0.0\n```\n\nthe soname of the library is 5.0.0, but should be 1.0.0\n\n```\n[me@computer lib]$ objdump -p libnanomsg.so.1.0.0 | grep SONAME\n  SONAME               libnanomsg.so.5.0.0\n```\n\nit is unclear if this library is 5.0.0 or 1.0.0, it can not be both.\nas it is, it will not pass packaging rules for some distributions\n\nI also think the soname should be libnanomsg.so.1.0  to enable binary compatible updates with new patch level numbers.\n\nif seems that in src/CMakeLists.txt this needs to be adopted \n\n```\n    set_target_properties (${PROJECT_NAME} PROPERTIES\n        VERSION \"${NN_PACKAGE_VERSION}\"\n        SOVERSION \"${NN_ABI_VERSION}\")\n\n```\n\npossible to something like\n\n```\n    set_target_properties (${PROJECT_NAME} PROPERTIES\n        VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}\n        SOVERSION ${MAJOR_VERSION}.${MINOR_VERSION}\n       OUTPUT_NAME nanomsg\n)\n```\n\nwhere I assume the ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} variables are somewhere available.\n\nvalues for the wrong ${NN_ABI_VERSION} come from\n src/nn.h, line 59\n\n```\n\n/*  The current interface version. */\n#define NN_VERSION_CURRENT 5\n\n/*  The latest revision of the current interface. */\n#define NN_VERSION_REVISION 0\n\n/*  How many past interface versions are still supported. */\n#define NN_VERSION_AGE 0\n```\n\nthey are read out in the CMakeList.txt in the root dir.\n\nif you confirm this issue and if it's not to time critical I can give it a trial to fix it,  but it could be that you need to wait for the next weekend at least. \n"},"comment":{"url":"https://api.github.com/repos/nanomsg/nanomsg/issues/comments/262686334","html_url":"https://github.com/nanomsg/nanomsg/issues/781#issuecomment-262686334","issue_url":"https://api.github.com/repos/nanomsg/nanomsg/issues/781","id":262686334,"user":{"login":"gdamore","id":1295229,"avatar_url":"https://avatars.githubusercontent.com/u/1295229?v=3","gravatar_id":"","url":"https://api.github.com/users/gdamore","html_url":"https://github.com/gdamore","followers_url":"https://api.github.com/users/gdamore/followers","following_url":"https://api.github.com/users/gdamore/following{/other_user}","gists_url":"https://api.github.com/users/gdamore/gists{/gist_id}","starred_url":"https://api.github.com/users/gdamore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdamore/subscriptions","organizations_url":"https://api.github.com/users/gdamore/orgs","repos_url":"https://api.github.com/users/gdamore/repos","events_url":"https://api.github.com/users/gdamore/events{/privacy}","received_events_url":"https://api.github.com/users/gdamore/received_events","type":"User","site_admin":false},"created_at":"2016-11-24T04:12:02Z","updated_at":"2016-11-24T04:12:02Z","body":"What's really the case here is that libnanomsg.so.1.0.0 (or whatever) should *NOT* exist.\r\n\r\nInstead the canonical version is libnanomsg.so.5.0.0 (which represents the ABI version, and has *nothing* to do with with the package version!)\r\n\r\nI need to figure out how to convince cmake not to create the libnanomsg.so.1.0.0 (or whatever) link in the first."}}
{"actor":{"display_login":"gdamore"}}