{"action":"created","issue":{"url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/8","labels_url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/8/comments","events_url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/8/events","html_url":"https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP/pull/8","id":69505010,"number":8,"title":"iRODS 4 compatibility","user":{"login":"vladimir-mencl-eresearch","id":740558,"avatar_url":"https://avatars.githubusercontent.com/u/740558?v=3","gravatar_id":"","url":"https://api.github.com/users/vladimir-mencl-eresearch","html_url":"https://github.com/vladimir-mencl-eresearch","followers_url":"https://api.github.com/users/vladimir-mencl-eresearch/followers","following_url":"https://api.github.com/users/vladimir-mencl-eresearch/following{/other_user}","gists_url":"https://api.github.com/users/vladimir-mencl-eresearch/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimir-mencl-eresearch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimir-mencl-eresearch/subscriptions","organizations_url":"https://api.github.com/users/vladimir-mencl-eresearch/orgs","repos_url":"https://api.github.com/users/vladimir-mencl-eresearch/repos","events_url":"https://api.github.com/users/vladimir-mencl-eresearch/events{/privacy}","received_events_url":"https://api.github.com/users/vladimir-mencl-eresearch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-04-20T04:34:02Z","updated_at":"2015-04-21T05:20:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/pulls/8","html_url":"https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP/pull/8","diff_url":"https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP/pull/8.diff","patch_url":"https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP/pull/8.patch"},"body":"Hi Roberto,\r\n\r\nThese are the iRODS 4 fixes discussed in #7.\r\n\r\nThis version compiles both with 3.3.1 and 4.1(DEV).\r\n\r\nOn my test system, it needs iRODS 3.3.1 manually tweaked with -fPIC.\r\n\r\nFor iRODS 4, I had to manually tweak libjansson to compile with -fPIC (mimicking as if https://github.com/irods/irods/pull/2623 was already merged).\r\n\r\nPlease let me know if it's working for you all fine.\r\n\r\nCheers,\r\nVlad\r\n\r\nPS: I also included a commit to bring up the version string in CMakeList.txt in sync with the tagged version.  If you make another release, please remember to update that file too.\r\n\r\nPPS: I overlooked your iRODS 4 branch before I started this work, sorry about the extra work.  The find packages refactoring looks interesting - hope it won't be too much hassle to fit onto the changes I made to CMakeList.txt..."},"comment":{"url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/comments/94641480","html_url":"https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP/pull/8#issuecomment-94641480","issue_url":"https://api.github.com/repos/EUDAT-B2STAGE/B2STAGE-GridFTP/issues/8","id":94641480,"user":{"login":"vladimir-mencl-eresearch","id":740558,"avatar_url":"https://avatars.githubusercontent.com/u/740558?v=3","gravatar_id":"","url":"https://api.github.com/users/vladimir-mencl-eresearch","html_url":"https://github.com/vladimir-mencl-eresearch","followers_url":"https://api.github.com/users/vladimir-mencl-eresearch/followers","following_url":"https://api.github.com/users/vladimir-mencl-eresearch/following{/other_user}","gists_url":"https://api.github.com/users/vladimir-mencl-eresearch/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimir-mencl-eresearch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimir-mencl-eresearch/subscriptions","organizations_url":"https://api.github.com/users/vladimir-mencl-eresearch/orgs","repos_url":"https://api.github.com/users/vladimir-mencl-eresearch/repos","events_url":"https://api.github.com/users/vladimir-mencl-eresearch/events{/privacy}","received_events_url":"https://api.github.com/users/vladimir-mencl-eresearch/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T05:20:16Z","updated_at":"2015-04-21T05:20:16Z","body":"Hi Roberto,\r\n\r\nI've just tried getting this going with iRODS 4 - and I'm getting stuck.\r\n\r\nAt this point, rcConnect keeps failing, trying to load an internal iRODS module (/var/lib/irods/plugins/network/libtcp.so), but breaking on unresolved symbols (which should be provided by the iRODS library already loaded).  Not sure why the dlopen call is breaking - I'll post about this to irod-chat and see if I get anything.\r\n\r\nOn other fronts: I've also tried compiling against iRODS 4.0.3 release (instead of 4.1 HEAD) and I see what issues you were referring to.\r\n\r\nUnfortunately, iRODS 4.1 significantly reorganizes the libraries, so we would either have to have a custom section for 4.0.3 and 4.1, or support just one of them.\r\n\r\nMy understanding of the differences is:\r\n* iRODS 4.0.3 has all libs in /usr/lib/irods, while 4.1 puts the core libraries directly into /usr/lib and external dependencies into /usr/lib/irods/externals\r\n* libboost_chrono is only introduced in iRODS 4.1 (and becomes required for linking).\r\n\r\nThis could still be worked around with separate definitions of irods_link_obj_path depending on the iRODS version...\r\n\r\nAnother difference is that iRODS 4.1 switches the client from using a ~/.irods/.irodsEnv file to using ~/.irods/irods_environment.json - in JSON format.\r\n\r\nMy way of getting setting the connection parameters was:\r\n* Set the path to the file with an environment variable (it was a bit tricky to figure out the exact name - and that it has to be uppercase):\r\n\r\n    $IRODS_ENVIRONMENT_FILE \"/opt/iRODS_DSI/iRODS_DSI/irods_environment.json\"\r\n\r\n* Create the file:\r\n\r\n````\r\n{\r\n    \"irods_port\": 1247,\r\n    \"irods_host\": \"gridgwtest.canterbury.ac.nz\",\r\n    \"irods_authentication_scheme\": \"GSI\",\r\n    \"irods_user_name\": \"rods\",\r\n    \"irods_zone\": \"BeSTGRID-DEV\"\r\n}\r\n````\r\n\r\n* BTW, to get at least some debug output / error messages from the client library, I set the environment variable:\r\n\r\n    $IRODS_LOG_LEVEL 10\r\n\r\nOK, so that's where I'm leaving it now: iRODS not connecting because of missing symbols, and CMakeList.txt needs differences between iRODS 4.0.3 and 4.1.\r\n\r\nIf you like the proposed solution, I can add another commit tomorrow to tweak the link libraries between 4.0.3 and 4.1 - and I hope I'd receive some reply/hint based on my irod-chat post...\r\n\r\nCheers,\r\nVlad\r\n"}}