TrueRMSの不具合修正 RTS3.1.1環境においてTrueRMSを使用した場合、接続条件によってCのコンパイル時にエラーが発生する。 不具合が発生する接続条件としては、SHMEMと接続した場合に発生する。 これはTrueRMS.pmのL.80,89に於いて、変数名ipcInfoが入っているfromExp[0]が小文字に変換されてしまうことに起因する。 LIGOのソースコードを調査した所、最新環境では小文字にならないように対応が入っていたのでこれをマージすることとした。 https://git.ligo.org/cds/advligorts/-/commit/89edef3a932b0610a8368be5da7a39484d9d672a [修正ファイル] /opt/rtcds/rtscore/tags/advLigoRTS-3.1.1/src/epics/util/lib/TrueRMS.pm 修正前のファイルはTrueRMS_original.pmで保存しました。 変更前: 80: \L$::xpartName[$i]_sqrin = $::fromExp[0] * $::fromExp[0]; 89: \L$::xpartName[$i] = $::fromExp[0]; 変更後: 80: \L$::xpartName[$i]_sqrin \E= $::fromExp[0] * $::fromExp[0]; 89: \L$::xpartName[$i] \E = $::fromExp[0]; --- Bug fix for TrueRMS. When using TrueRMS in RTS3.1.1 environment, an error occurred when compiling C depending on the connection conditions. The connection condition that causes the bug is when connecting to SHMEM. This is due to the fact that in L.80 and 89 of TrueRMS.pm, fromExp[0], which contains the variable name ipcInfo, is converted to lower case. After investigating the source code of LIGO, I found that the latest version of LIGO has a fix for this problem, so I decided to merge it in. https://git.ligo.org/cds/advligorts/-/commit/89edef3a932b0610a8368be5da7a39484d9d672a [modified file]. /opt/rtcds/rtscore/tags/advLigoRTS-3.1.1/src/epics/util/lib/TrueRMS.pm The file before modification was saved as TrueRMS_original.pm. Before modification : 80: \L$::xpartName[$i]_sqrin = $::fromExp[0] * $::fromExp[0]; 89: \L$::xpartName[$i] = $::fromExp[0]; After the change : 80: \L$::xpartName[$i]_sqrin \E= $::fromExp[0] * $::fromExp[0]; 89: \L$::xpartName[$i] \E = $::fromExp[0];