Interoperability not working on MacOS


#1

I followed the procedure on

https://kb.lumerical.com/en/installation_and_setup_lumerical-api.html
and
https://kb.lumerical.com/en/ref_scripts_opensession.html

Unfortunately, the opensession command doesn’t return control back to the calling program, so the rest of the commands can’t execute. For example, INTERCONNECT is waiting for DEVICE… (e.g., ?2; doesn’t get executed). I have to close DEVICE in order to get INTERCONNECT to keep going.

DEVICE is just idle, not doing anything. After closing DEVICE, I get the following:


#2

Same thing when MODE calls DEVICE.


#3

Hi @lukasc, can you tell me which version of Interconnect you are using? I tested this in OS X with the latest release and was unable to reproduce this issue.


#4

Hello,

I just tried this again on the latest versions: INTERCONNECT-6.5.1157.dmg, and latest MODE. opensession(“mode”) returns blank and nothing happens. Running Mac OSX Version 10.12.1 (16B2555)


#5

Hi @lukasc, I’ve tested this with the help of @ahan and it looks like that the API is working in the latest version of the products. Since we were not sure what you meant by “returning blank” we tried a few different things.

If opensession is called without assigning to anything, then nothing is printed in the prompt for sure, but mode is opened in the background; if app=opensession(“mode”), then the expected behaviour is that mode opens, and variable “app” can be used for future calls to evalremote(app,"…"), but “app” does not appear in the script workspace.

We next tried clearing the PATH variable so that none of our products is there, and then app=opensession no longer worked! So we are guessing that maybe when you upgraded your OS, you did not follow the KB instructions that you had mentioned earlier?

Please let us know if you believe that is the case.


#6

We just noticed that if PATH is not set, the variable app=opensession becomes an empty string in the script workspace! This looks like what you have mentioned in your post and hopefully confirms that it must be the “PATH issue” which should be fixed by following the KB instructions.


#7

Hi @lukasc,

Can we try launching the first application from a Terminal Console?

The current path settings changes we make on the MAC OS X will only work if the applications are open and launched from the Terminal window. If the application is launched using the Icon on the desktop or the App Finder, it will not apply the path changes we made to the .bash_profile file.


#8

Thank you. Running it from the terminal fixed it, and the sophisticated LCML components are now working.

Perhaps you could fix this in future versions, so that the path is correctly set when launching the programs from Finder.app. Here are some instructions:

http://stackoverflow.com/questions/829749/launch-mac-eclipse-with-environment-variables-set/36282543#36282543>

and


#9

Thank you. I added this to the KLayout SiEPIC PDK, so when KLayout calls INTERCONNECT, the bash_profile is sourced.

https://github.com/lukasc-ubc/SiEPIC_EBeam_PDK/commit/80a4611cead17db5a4fed4cf32a13d4f17651bc6