{"action":"created","issue":{"url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/2191","repository_url":"https://api.github.com/repos/modelica/ModelicaSpecification","labels_url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/2191/labels{/name}","comments_url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/2191/comments","events_url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/2191/events","html_url":"https://github.com/modelica/ModelicaSpecification/issues/2191","id":377195275,"node_id":"MDU6SXNzdWUzNzcxOTUyNzU=","number":2191,"title":"ModelicaUtilities for shared object / dynamic link library","user":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"labels":[{"id":971423513,"node_id":"MDU6TGFiZWw5NzE0MjM1MTM=","url":"https://api.github.com/repos/modelica/ModelicaSpecification/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"HansOlsson","id":13217430,"node_id":"MDQ6VXNlcjEzMjE3NDMw","avatar_url":"https://avatars0.githubusercontent.com/u/13217430?v=4","gravatar_id":"","url":"https://api.github.com/users/HansOlsson","html_url":"https://github.com/HansOlsson","followers_url":"https://api.github.com/users/HansOlsson/followers","following_url":"https://api.github.com/users/HansOlsson/following{/other_user}","gists_url":"https://api.github.com/users/HansOlsson/gists{/gist_id}","starred_url":"https://api.github.com/users/HansOlsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansOlsson/subscriptions","organizations_url":"https://api.github.com/users/HansOlsson/orgs","repos_url":"https://api.github.com/users/HansOlsson/repos","events_url":"https://api.github.com/users/HansOlsson/events{/privacy}","received_events_url":"https://api.github.com/users/HansOlsson/received_events","type":"User","site_admin":false},"assignees":[{"login":"mtiller","id":144876,"node_id":"MDQ6VXNlcjE0NDg3Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/144876?v=4","gravatar_id":"","url":"https://api.github.com/users/mtiller","html_url":"https://github.com/mtiller","followers_url":"https://api.github.com/users/mtiller/followers","following_url":"https://api.github.com/users/mtiller/following{/other_user}","gists_url":"https://api.github.com/users/mtiller/gists{/gist_id}","starred_url":"https://api.github.com/users/mtiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtiller/subscriptions","organizations_url":"https://api.github.com/users/mtiller/orgs","repos_url":"https://api.github.com/users/mtiller/repos","events_url":"https://api.github.com/users/mtiller/events{/privacy}","received_events_url":"https://api.github.com/users/mtiller/received_events","type":"User","site_admin":false},{"login":"sjoelund","id":3016460,"node_id":"MDQ6VXNlcjMwMTY0NjA=","avatar_url":"https://avatars0.githubusercontent.com/u/3016460?v=4","gravatar_id":"","url":"https://api.github.com/users/sjoelund","html_url":"https://github.com/sjoelund","followers_url":"https://api.github.com/users/sjoelund/followers","following_url":"https://api.github.com/users/sjoelund/following{/other_user}","gists_url":"https://api.github.com/users/sjoelund/gists{/gist_id}","starred_url":"https://api.github.com/users/sjoelund/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjoelund/subscriptions","organizations_url":"https://api.github.com/users/sjoelund/orgs","repos_url":"https://api.github.com/users/sjoelund/repos","events_url":"https://api.github.com/users/sjoelund/events{/privacy}","received_events_url":"https://api.github.com/users/sjoelund/received_events","type":"User","site_admin":false},{"login":"casella","id":4233148,"node_id":"MDQ6VXNlcjQyMzMxNDg=","avatar_url":"https://avatars1.githubusercontent.com/u/4233148?v=4","gravatar_id":"","url":"https://api.github.com/users/casella","html_url":"https://github.com/casella","followers_url":"https://api.github.com/users/casella/followers","following_url":"https://api.github.com/users/casella/following{/other_user}","gists_url":"https://api.github.com/users/casella/gists{/gist_id}","starred_url":"https://api.github.com/users/casella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/casella/subscriptions","organizations_url":"https://api.github.com/users/casella/orgs","repos_url":"https://api.github.com/users/casella/repos","events_url":"https://api.github.com/users/casella/events{/privacy}","received_events_url":"https://api.github.com/users/casella/received_events","type":"User","site_admin":false},{"login":"MartinOtter","id":7248038,"node_id":"MDQ6VXNlcjcyNDgwMzg=","avatar_url":"https://avatars3.githubusercontent.com/u/7248038?v=4","gravatar_id":"","url":"https://api.github.com/users/MartinOtter","html_url":"https://github.com/MartinOtter","followers_url":"https://api.github.com/users/MartinOtter/followers","following_url":"https://api.github.com/users/MartinOtter/following{/other_user}","gists_url":"https://api.github.com/users/MartinOtter/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinOtter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinOtter/subscriptions","organizations_url":"https://api.github.com/users/MartinOtter/orgs","repos_url":"https://api.github.com/users/MartinOtter/repos","events_url":"https://api.github.com/users/MartinOtter/events{/privacy}","received_events_url":"https://api.github.com/users/MartinOtter/received_events","type":"User","site_admin":false},{"login":"christoff-buerger","id":7884278,"node_id":"MDQ6VXNlcjc4ODQyNzg=","avatar_url":"https://avatars2.githubusercontent.com/u/7884278?v=4","gravatar_id":"","url":"https://api.github.com/users/christoff-buerger","html_url":"https://github.com/christoff-buerger","followers_url":"https://api.github.com/users/christoff-buerger/followers","following_url":"https://api.github.com/users/christoff-buerger/following{/other_user}","gists_url":"https://api.github.com/users/christoff-buerger/gists{/gist_id}","starred_url":"https://api.github.com/users/christoff-buerger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christoff-buerger/subscriptions","organizations_url":"https://api.github.com/users/christoff-buerger/orgs","repos_url":"https://api.github.com/users/christoff-buerger/repos","events_url":"https://api.github.com/users/christoff-buerger/events{/privacy}","received_events_url":"https://api.github.com/users/christoff-buerger/received_events","type":"User","site_admin":false},{"login":"HansOlsson","id":13217430,"node_id":"MDQ6VXNlcjEzMjE3NDMw","avatar_url":"https://avatars0.githubusercontent.com/u/13217430?v=4","gravatar_id":"","url":"https://api.github.com/users/HansOlsson","html_url":"https://github.com/HansOlsson","followers_url":"https://api.github.com/users/HansOlsson/followers","following_url":"https://api.github.com/users/HansOlsson/following{/other_user}","gists_url":"https://api.github.com/users/HansOlsson/gists{/gist_id}","starred_url":"https://api.github.com/users/HansOlsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansOlsson/subscriptions","organizations_url":"https://api.github.com/users/HansOlsson/orgs","repos_url":"https://api.github.com/users/HansOlsson/repos","events_url":"https://api.github.com/users/HansOlsson/events{/privacy}","received_events_url":"https://api.github.com/users/HansOlsson/received_events","type":"User","site_admin":false},{"login":"jespermattsson","id":13779895,"node_id":"MDQ6VXNlcjEzNzc5ODk1","avatar_url":"https://avatars2.githubusercontent.com/u/13779895?v=4","gravatar_id":"","url":"https://api.github.com/users/jespermattsson","html_url":"https://github.com/jespermattsson","followers_url":"https://api.github.com/users/jespermattsson/followers","following_url":"https://api.github.com/users/jespermattsson/following{/other_user}","gists_url":"https://api.github.com/users/jespermattsson/gists{/gist_id}","starred_url":"https://api.github.com/users/jespermattsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jespermattsson/subscriptions","organizations_url":"https://api.github.com/users/jespermattsson/orgs","repos_url":"https://api.github.com/users/jespermattsson/repos","events_url":"https://api.github.com/users/jespermattsson/events{/privacy}","received_events_url":"https://api.github.com/users/jespermattsson/received_events","type":"User","site_admin":false},{"login":"henrikt-ma","id":25294143,"node_id":"MDQ6VXNlcjI1Mjk0MTQz","avatar_url":"https://avatars3.githubusercontent.com/u/25294143?v=4","gravatar_id":"","url":"https://api.github.com/users/henrikt-ma","html_url":"https://github.com/henrikt-ma","followers_url":"https://api.github.com/users/henrikt-ma/followers","following_url":"https://api.github.com/users/henrikt-ma/following{/other_user}","gists_url":"https://api.github.com/users/henrikt-ma/gists{/gist_id}","starred_url":"https://api.github.com/users/henrikt-ma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrikt-ma/subscriptions","organizations_url":"https://api.github.com/users/henrikt-ma/orgs","repos_url":"https://api.github.com/users/henrikt-ma/repos","events_url":"https://api.github.com/users/henrikt-ma/events{/privacy}","received_events_url":"https://api.github.com/users/henrikt-ma/received_events","type":"User","site_admin":false},{"login":"gkurzbach","id":25528503,"node_id":"MDQ6VXNlcjI1NTI4NTAz","avatar_url":"https://avatars1.githubusercontent.com/u/25528503?v=4","gravatar_id":"","url":"https://api.github.com/users/gkurzbach","html_url":"https://github.com/gkurzbach","followers_url":"https://api.github.com/users/gkurzbach/followers","following_url":"https://api.github.com/users/gkurzbach/following{/other_user}","gists_url":"https://api.github.com/users/gkurzbach/gists{/gist_id}","starred_url":"https://api.github.com/users/gkurzbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gkurzbach/subscriptions","organizations_url":"https://api.github.com/users/gkurzbach/orgs","repos_url":"https://api.github.com/users/gkurzbach/repos","events_url":"https://api.github.com/users/gkurzbach/events{/privacy}","received_events_url":"https://api.github.com/users/gkurzbach/received_events","type":"User","site_admin":false},{"login":"svorkoetter","id":25961958,"node_id":"MDQ6VXNlcjI1OTYxOTU4","avatar_url":"https://avatars2.githubusercontent.com/u/25961958?v=4","gravatar_id":"","url":"https://api.github.com/users/svorkoetter","html_url":"https://github.com/svorkoetter","followers_url":"https://api.github.com/users/svorkoetter/followers","following_url":"https://api.github.com/users/svorkoetter/following{/other_user}","gists_url":"https://api.github.com/users/svorkoetter/gists{/gist_id}","starred_url":"https://api.github.com/users/svorkoetter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svorkoetter/subscriptions","organizations_url":"https://api.github.com/users/svorkoetter/orgs","repos_url":"https://api.github.com/users/svorkoetter/repos","events_url":"https://api.github.com/users/svorkoetter/events{/privacy}","received_events_url":"https://api.github.com/users/svorkoetter/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/modelica/ModelicaSpecification/milestones/64","html_url":"https://github.com/modelica/ModelicaSpecification/milestone/64","labels_url":"https://api.github.com/repos/modelica/ModelicaSpecification/milestones/64/labels","id":3792713,"node_id":"MDk6TWlsZXN0b25lMzc5MjcxMw==","number":64,"title":"Design95","description":"","creator":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":1,"state":"closed","created_at":"2018-11-03T10:12:34Z","updated_at":"2018-11-04T21:13:10Z","due_on":"2017-10-18T07:00:00Z","closed_at":"2018-11-03T10:12:34Z"},"comments":11,"created_at":"2018-11-04T21:11:36Z","updated_at":"2018-11-04T21:14:13Z","closed_at":null,"author_association":"COLLABORATOR","body":"**Modified by beutlich on 19 Oct 2017 08:33 UTC**\nIt is currently not (easily) possible that an external shared object / dynamic link library depends on ModelicaUtilities (e.g., for ModelicaFormatMessage or ModelicaFormatError), since ModelicaUtilities is tool-dependent, but shared object / dynamic link libraries are (opposed to) static or import libraries executable.\n\nThis leads to trouble for library developers of tool-generic Modelica libraries, especially for the two tools Dymola and SimulationX on Windows, see e.g., \n* https://github.com/tbeu/ExternData/issues/2 or\n* https://github.com/ClaRaLibrary/TILMedia/blob/master/Internals/redirectModelicaFormatMessage.mo\nwith the following workarounds:\n1. Always have static libraries for Dymola and dynamic link libraries for SimulationX (by utilizing SimulationX specific [ModelicaUtilities](https://github.com/ESI-ITI-GmbH/ModelicaExternalC))\n2. Use external code to access ModelicaFormatMessage etc. and redirect the ModelicaUtilities functions.\n\nBoth workarounds have their drawbacks and are error-prone. One possible solution would be an extension of the Modelica external function interface by providing optional callback functions for libraries. At least, this cleans up the current mess, however I am not sure if new problems are likely.\n\n\n----\n\n**Modified by beutlich on 21 Jun 2017 08:01 UTC**\nIt is currently not (easily) possible that an external shared object / dynamic link library depends on ModelicaUtitlities (e.g., for ModelicaFormatMessage or ModelicaFormatError), since ModelicaUtilities is tool-dependent, but shared object / dynamic link libraries are (opposed to) static or import libraries executable.\n\nThis leads to trouble for library developers of tool-generic Modelica libraries, especially for the two tools Dymola and SimulationX on Windows, see e.g., \n* https://github.com/tbeu/ExternData/issues/2 or\n* https://github.com/ClaRaLibrary/TILMedia/blob/master/Internals/redirectModelicaFormatMessage.mo\nwith the following workarounds:\n1. Always have static libraries for Dymola and dynamic link libraries for SimulationX (by utilizing SimulationX specific [ModelicaUtilities](https://github.com/ESI-ITI-GmbH/ModelicaExternalC))\n2. Use external code to access ModelicaFormatMessage etc. and redirect the ModelicaUtilities functions.\n\nBoth workarounds have their drawbacks and are error-prone. One possible solution would be an extension of the Modelica external function interface by providing optional callback functions for libraries. At least, this cleans up the current mess, however I am not sure if new problems are likely.\n\n\n----\n\n**Reported by beutlich on 20 Jun 2017 13:11 UTC**\nIt is currently not (easily) possible that an external shared object / dynamic link library depends on ModelicaUtitlities (e.g., for ModelicaFormatMessage or ModelicaFormatError), since ModelicaUtilities is tool-dependent, but shared object / dynamic link libraries are (opposed to) static or import libraries executable.\n\nThis leads to trouble for library developers of tool-generic Modelica libraries, especially for the two tools Dymola and SimulationX on Windows, see e.g., \n* https://github.com/tbeu/ExternData/issues/2 or\n* https://github.com/ClaRaLibrary/TILMedia/blob/master/Internals/redirectModelicaFormatMessage.mo\nwith the following workarounds:\n1. Always have static libraries for Dymola and dynamic link libraries for SimulationX (by utilizing SimulationX specific [ModelicaUtilities](https://github.com/ESI-ITI-GmbH/ModelicaExternalC))\n2. Use external code to access ModelicaFormatMessage etc. and redirect the ModelicaUtility functions.\n\nBoth workarounds have their drawbacks and are error-prone. One possible solution would be an extension of the Modelica external function interface by providing optional callback functions for libraries. At least, this cleans up the current mess, however I am not sure if new problems are likely.\n\n\n----\n\nMigrated-From: https://trac.modelica.org/Modelica/ticket/2191"},"comment":{"url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/comments/435707219","html_url":"https://github.com/modelica/ModelicaSpecification/issues/2191#issuecomment-435707219","issue_url":"https://api.github.com/repos/modelica/ModelicaSpecification/issues/2191","id":435707219,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTcwNzIxOQ==","user":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"created_at":"2018-11-04T21:14:13Z","updated_at":"2018-11-04T21:14:13Z","author_association":"COLLABORATOR","body":"**Comment by beutlich on 20 Nov 2017 20:26 UTC**\nReplying to [comment:8 c.schulze@…]:\n> Please keep in mind:\n> - **dependencies**: Every executable or FMU had to provide this ModelicaExternalC.dll\n\nNo, ModelicaExternalC.dll is tool-specific and would be part of the installation of the Modelica simulation environment.\n> - **availability of ModelicaExternalC**: The dll should not be available in the path environment, to enable the parallel installation of e.g. OpenModelica and Dymola.\n\nRight, OpenModelica would use its appropriate ModelicaExternalC.dll, Dymola another one from its installation directory.\n\n> - **multiple FMUs use the same library**: Multiple FMUs used by the same application refer to the same external library instance. Still error messages of the external library should be output by the FMU in which the error occurred.\n\nCurrently, all (error) messages go to a single log window only. Different instances cannot be differentiated other by its instance name if part of the (error) message.\n\n> - **FMU file size**: If this dll is linked with /mt the file size is > 0\n\nFor static libraries (LIB) /MT for MSVC compilation is pretty established since the Dymola build scripts build with this flag. But for dynamic link libraries (DLL) you are free to use /MD as well."}}
{"actor":{"display_login":"modelica-trac-importer"}}