{"action":"created","issue":{"url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/2013","repository_url":"https://api.github.com/repos/cyrusimap/cyrus-imapd","labels_url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/2013/labels{/name}","comments_url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/2013/comments","events_url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/2013/events","html_url":"https://github.com/cyrusimap/cyrus-imapd/issues/2013","id":233677275,"number":2013,"title":"Docs: mention Openssl version mismatches","user":{"login":"jasontibbitts","id":10857207,"avatar_url":"https://avatars3.githubusercontent.com/u/10857207?v=3","gravatar_id":"","url":"https://api.github.com/users/jasontibbitts","html_url":"https://github.com/jasontibbitts","followers_url":"https://api.github.com/users/jasontibbitts/followers","following_url":"https://api.github.com/users/jasontibbitts/following{/other_user}","gists_url":"https://api.github.com/users/jasontibbitts/gists{/gist_id}","starred_url":"https://api.github.com/users/jasontibbitts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasontibbitts/subscriptions","organizations_url":"https://api.github.com/users/jasontibbitts/orgs","repos_url":"https://api.github.com/users/jasontibbitts/repos","events_url":"https://api.github.com/users/jasontibbitts/events{/privacy}","received_events_url":"https://api.github.com/users/jasontibbitts/received_events","type":"User","site_admin":false},"labels":[{"id":428554134,"url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/labels/3.0","name":"3.0","color":"fbca04","default":false},{"id":524721256,"url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/labels/3.1","name":"3.1","color":"c2e0c6","default":false},{"id":442837188,"url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/labels/documentation","name":"documentation","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-06-05T18:54:50Z","updated_at":"2017-06-20T18:35:12Z","closed_at":null,"body":"It might be worth documenting the current mess with the migration from openssl 1.0 to 1.1.  Basically some things have moved over and some things haven't, and the mismatch causes problems for anything which tries to link against libraries in both groups.  This results in linker warnings like the following:\r\n\r\n```\r\n/usr/bin/ld: warning: libssl.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libssl.so.1.1\r\n/usr/bin/ld: warning: libcrypto.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libcrypto.so.1.1\r\n```\r\n\r\nAnd, of course, you may also see segfaults in things like cyr_vyrusscan.  It doesn't always segfault, and for example the Cassandane tests which call cyr_virusscan will (for me) pass reliably on all architectures except for ppc64 where for whatever reason it fails consistently.\r\n\r\nIn the Fedora builds, I have to disable mysql and clamav support because of this.  Clamav will be fixed when 0.99.3 is released, but I have no idea when that will be; the Fedora maintainers may decide to patch it in sooner.  Mariadb was fixed with 10.2.6, which was released relatively recently and should hopefully show up in Fedora rawhide soon.  I will of course re-enable these things when possible, and it's probably not worth documenting things for specific distro versions as this is likely to change relatively quickly.   But it might be worth having some kind of general warning about it somewhere."},"comment":{"url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/comments/309848949","html_url":"https://github.com/cyrusimap/cyrus-imapd/issues/2013#issuecomment-309848949","issue_url":"https://api.github.com/repos/cyrusimap/cyrus-imapd/issues/2013","id":309848949,"user":{"login":"jasontibbitts","id":10857207,"avatar_url":"https://avatars3.githubusercontent.com/u/10857207?v=3","gravatar_id":"","url":"https://api.github.com/users/jasontibbitts","html_url":"https://github.com/jasontibbitts","followers_url":"https://api.github.com/users/jasontibbitts/followers","following_url":"https://api.github.com/users/jasontibbitts/following{/other_user}","gists_url":"https://api.github.com/users/jasontibbitts/gists{/gist_id}","starred_url":"https://api.github.com/users/jasontibbitts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasontibbitts/subscriptions","organizations_url":"https://api.github.com/users/jasontibbitts/orgs","repos_url":"https://api.github.com/users/jasontibbitts/repos","events_url":"https://api.github.com/users/jasontibbitts/events{/privacy}","received_events_url":"https://api.github.com/users/jasontibbitts/received_events","type":"User","site_admin":false},"created_at":"2017-06-20T18:35:12Z","updated_at":"2017-06-20T18:35:12Z","body":"I swear I submitted this last week, but I guess not.  Maybe something like this?\r\n\r\n### OpenSSL Version Mismatches\r\n\r\nMajor updates of OpenSSL are not always compatible with each other at the API level, which means that programs which use it require code changes to accommodate these updates.  OpenSSL is used by very many libraries and system components and due to the changes necessary not all of those become compatible with the new version at the same time.  Some Linux distributions may choose to ship multiple OpenSSL versions and allow components to use whichever version is appropriate.  So it is possible that some libraries which Cyrus can use might be linked against different versions of the OpenSSL libraries, or that those may be different from the version which Cyrus itself will use.\r\n\r\nIt is generally not advisable to have two different versions of the OpenSSL libraries linked into one program.  Attempting to do this may result in warnings from the linker like the following:\r\n```\r\n/usr/bin/ld: warning: libssl.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libssl.so.1.1\r\n/usr/bin/ld: warning: libcrypto.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libcrypto.so.1.1\r\n```\r\n\r\nIn this case, ClamAV is still linked against OpenSSL 1.0, while Cyrus building with OpenSSL 1.1.  Attempting to run programs which are linked against multiple different versions of the same library may result in instability.  So if you see warnings similar to those, please exercise care and double check the versions of OpenSSL in use by the various components involved."}}
{"actor":{"display_login":"jasontibbitts"}}