Installing Eclipse TPTP using the Update Manager creates several problems under Linux.
- First, the permissions are missing for the native Integrated Agent Controller code. Symbolic links were also not created for the Integrated Agent Controller libraries, resulting in a “File too short” error message when running the executable.
- Second, since the Integrated Agent Controller is native code, it requires shared libraries which may or may not be installed on your system.
- Third, several configuration files need to be writable by the user which executes Eclipse. I installed Eclipse using my own user (not root), so I did not run into this problem, however, there are several posts on the mailing list addressing this problem.
As a result, executing the Profiler within Eclipse would result in a cryptic “Unable to connect to localhost (port 10002)” message.
In order to get the Integrated Agent Controller running, we’ll need to fix the mentioned problems, here’s how to do it on Arch Linux:
- Change your working directory to where the TPTP agent controller is installed:
- Fix the permissions of the executables:
cd <tptp_agent_controller_dir>/bin chmod +x ACServer ACStart.sh ACStop.sh ACVersion.sh ChkPass RAServer RAStart.sh RAStop.sh SampleClient SetConfig.sh TimeCollector readme.txt tptpFileTransferAgent tptpProcessController</tptp_agent_controller_dir>
- Fix the symbolic links for the linked libraries. The following list of files should point to their
.so.4.4.0 counterparts. The easiest way to do this is just to download a copy of the standalone Agent Controller and to copy the
libdirectory to the
libdirectory of the Integrated Agent Controller:
./libtptpClient.so ./libjavaBaseAgent.so.4 ./libtptpUtils.so.4 ./libtptpAgentBase.so.4 ./libtptpUtils.so ./libtransportSupport.so.4 ./libbaseTransport.so.4 ./libhcclsm.so ./libhccldt.so.4 ./libhccls.so.4 ./libnamedPipeTL.so ./libhcclsm.so.4 ./libhcclco.so.4 ./libhccls.so ./libtptpACTL.so ./libtptpClient.so.4 ./libtransportSupport.so ./libtptpCmdExtr.so ./libhcjbnd.so ./libhcbnd.so ./libtptpCmdExtr.so.4 ./libtptpConfig.so ./libnamedPipeTL.so.4 ./libhcclco.so ./libpiAgent.so.4 ./libtptpCCTL.so ./libsocketTL.so ./libtptpCCTL.so.4 ./libjavaBaseAgent.so ./libprocessControlUtil.so.4 ./libtptpConfig.so.4 ./libcompSupp.so ./libtptpLogUtils.so ./libsharedMemTL.so.4 ./libtptpACTL.so.4 ./libprocessControlUtil.so ./libbaseTransport.so ./libpiAgent.so ./libhclaunch.so ./libsocketTL.so.4 ./libhcthread.so ./libcompSupp.so.4 ./libtptpLogUtils.so.4 ./libtptpAgentBase.so ./libhcthread.so.4 ./libsharedMemTL.so ./libhcbnd.so.4 ./libhcjbnd.so.4 ./libhclaunch.so.4 ./libhccldt.so
- Install the compatibility libraries using the PKGBUILD located in this wiki article.
- Ensure your configuration files are writable by the Eclipse user.
- Occasionally, the Agent Controller leaves behind profiling data in the
/tmp/IBMRACdirectory which causes problems with subsequent executions of the Agent Controller. Delete
/tmp/IBMRACin order to remove the temporary files.
- Note: Occasionally, a Java process may prevent the Agent Controller from exiting properly. Killing the appropriate process will allow the controller to be restarted. A ‘killall java’ generally does the trick