Overview
The IBM® Software Development Kit for PowerLinux is a free, Eclipse-based Integrated Development Environment (IDE). The SDK integrates C/C++ source development with the IBM® Advance Toolchain for PowerLinux, Post-Link Optimization, and classic Linux performance analysis tools (including OProfile and Valgrind).
This release includes materials licensed to IBM under ILAN (International License Agreement for Non-Warranted Programs). The licensing full text can be found at licenses folder under the installation directory.
Content
- Features
- What is new
- Supported systems
- Required packages
- Installation
- Post-install setup
- Launching the IDE
- Documentation
- Known issues
Features
- IBM Advance Toolchain for PowerLinux 5.0, Version 5.0-1 or greater
- IBM Advance Toolchain for PowerLinux 6.0, Version 6.0-0 or greater
- IBM FDPR (Feedback Directed Program Restructuring), Version 5.6.1-9
- Pthread monitoring tool for PowerLinux, Version 0.5.10-1
- IBM Eclipse SDK, Version 4.2.1
- C/C++ Development Tools (CDT), Version 8.1.1
Code Analysis Tool (Codan), Version 2.1.0 - Graphical Editor Framework (GEF), Version 3.8.1
- Eclipse Parallel Tools (PTP), Version 6.0.3
- Eclipse Linux Tools, Version 1.2.0
- Autotools plug-in
- Libhover plug-in
- ChangeLog plug-in
- Man Page plug-in
- Specfile Editor
- Valgrind support
- OProfile support
- SystemTap plug-in
- Perf support
- Gprof plug-in
- Gcov plug-in
- IBM Source Code Advisor, Version 2.1.16
- IBM Trace Analyzer, Version 0.8.1
- IBM Advance Toolchain plug-in, Version 1.2.0
- IBM Advance Toolchain PTP(Parallel Tools Platform) Remote C/C++ Project Build plug-in, Version 1.1.0
- IBM Migration Advisor, Version 0.8.0
- IBM Integrated Bug Report, Version 1.1.0
- IBM CPI Breakdown, Version 1.1.0
- C/C++ Development Tools (CDT), Version 8.1.1
- IBM SDK, Java(TM) Technology Edition, Version 6
- IBM Runtime Environment, Java(TM) Technology Edition, Version 6
What is new in version 1.3.1
Source Code Advisor bug fixes
- Import a journal file without requiring the SCA view previously opened
- Fixed error when importing files from a remote project
Pthread monitoring tool and Trace analyzer bug fixes
- Fixed pthread-mon package to stop deleting some files on RPM update operation
- Corrected Trace analyzer to open up its perspective automatically
CPI Breakdown Tool bug fixes
- Disabled highlight of nested PM_1PLUS_PPC_CMPL and PM_GCT_NOSLOT* events
- Added missing events when profiling multiple events at once
Other fixes
- Fixed SystemTap plug-in that were throwing Null Pointer Exception when browsing kernel files remotely
- Resolved a problem that were crashing the SDK in SLES10 for IBM POWER® 64-bit
Supported systems
- Red Hat Enterprise Linux 5 for IBM POWER® 64-bit
- Red Hat Enterprise Linux 6 for IBM POWER® 64-bit
- SUSE Linux Enterprise Server 10 for IBM POWER®64-bit
- SUSE Linux Enterprise Server 11 for IBM POWER® 64-bit
Required packages
The IBM SDK for PowerLinux requires the following packages installed in the system:
- advance-toolchain-at5.0-runtime-5.0-1 or greater
- advance-toolchain-at5.0-devel-5.0-1 or greater
- advance-toolchain-at5.0-perf-5.0-1 or greater
- fdprpro
- fdpr_wrap
- pthread-mon
- Autoconf
- Automake
- gettext
- glibc
- gtk2
- libstdc++33 (SLES) or compat-libstdc++-33 (RHEL)
- libtool
- libXp (RHEL) or xorg-x11-libs (SLES10) or xorg-x11-libXp (SLES11)
- python
There are optional packages which are only needed for certain features of the IDE:
- advance-toolchain-at6.0-runtime-6.0 or greater (highly recommended)
- advance-toolchain-at6.0-devel-6.0 or greater (highly recommended)
- advance-toolchain-at6.0-perf-6.0 or greater (highly recommended)
- rpmlint
- rpmdevtools
- systemtap
- perf
- ibm-sdk-lop-stp
Installation
Installing IBM® Advance Toolchain for PowerLinux
This SDK relies on the IBM Advance Toolchain for PowerLinux, version 5.0-1 and 6.0 (optional). So it does require at least version 5.0-1 installed in the system before installation of the ibm-sdk-lop RPM.
The newest RPM packages for Advance Toolchain version 5.0 can be found at:
The newest RPM packages for Advance Toolchain version 6.0 can be found at:
Observations:
- The installation of -runtime, -perf and -devel package flavors is needed.
- The advance-toolchain-at6.0-perf RPM depends on libpfm library, which comes with papi package in SLES11sp1 and RHEL 6+
- For installation using YUM, see the Advance Toolchain release notes.
Installing FDPR
The FDPR tool is distributed together with the IBM SDK for PowerLinux. The SDK requires the FDPR RPM to be installed before installation of the ibm-sdk-lop RPM. To install it:
- Download the FDPR and FDPR Wrap RPM from the IBM SDK for PowerLinux download website.
- As the root user, run "rpm -Uvh fdprpro-<version>.ppc64.rpm" and "rpm -Uvh fdpr_wrap-<version>.ppc64.rpm". Observation: if already using any version less than 5.6.1-3 then remove it before upgrading
Installing pthread-mon
The Pthread-mon tool is distributed together with the IBM SDK for PowerLinux. The SDK requires the pthread-mon RPM to be installed before installation of the ibm-sdk-lop RPM. To install it:
- Download the pthread-mon RPM from the IBM SDK for PowerLinux download website.
- As the root user, run "rpm -Uvh pthread-mon-<version>.ppc64.rpm".
(optional) Installing Systemtap
In order to enable certain IBM Trace Analyzer features, Systemtap and some kernel packages are required to be properly installed.
For RHEL 5 and 6:
- systemtap
- systemtap-runtime
- kernel-devel
- kernel-debuginfo
- kernel-debuginfo-common
For SLES 10 and 11:
- systemtap
- kernel-debuginfo
Make sure the set of packages -devel, -debuginfo and -debuginfo-common versions match your kernel version.
NOTE: Running SystemTap requires elevated privileges. To allow ordinary users to run SystemTap you need to make followin setup:
For SLES:
- groupadd stapdev
- groupadd stapusr
- usermod -A stapdev,stapusr user_name
- chown root:stapusr /usr/bin/staprun
- chmod 04110 /usr/bin/staprun
For RHEL:
- usermod -aG stapdev,stapusr user_name
- chown root:stapusr /usr/bin/staprun
- chmod 04110 /usr/bin/staprun
Members of the stapdev group are able to run SystemTap scripts or staprun to run SystemTap instrumentation modules.
(optional) Installing ibm-sdk-lop-stp
The ibm-sdk-lop-stp package is meant to provide a Systemtap dependencies verification script and a script to enable Systemtap integration with the IBM SDK for PowerLinux. In order to enable certain IBM Trace Analyzer features, ibm-sdk-lop-stp is required to be properly installed.
For RHEL 5 and 6:
- Download the ibm-sdk-lop-stp-rhel package.
For SLES 10 and 11:
- Download ibm-sdk-lop-stp-sles package.
For either packages install it by running rpm -ivh ibm-sdk-lop-stp-<arch>-<version>.ppc64.rpm" as the root user.
(optional) Installing the IBM SDK for PowerLinux server RPM
The x86_64 IBM SDK for PowerLinux remote development package allow you to remotely create, compile, run, debug and analyze an C/C++ project on Power machines. To make it work properly, you need to install the x86_64 version of the IBM SDK for PowerLinux on a workstation (client side) but it also requires installation of a package called IBM SDK for PowerLinux server RPM (remote agent) on the Power machines you want to perform remote development.
The IBM SDK for PowerLinux server RPM is going to install a pre-built version of PTP SDM (scalable debug manager) along with IBM Java Runtime. It also ensures you have the right versions of fdpr and pthread-mon in your remote system.
As the root user, in the Power system:
- rpm -Uvh ibm-sdk-lop-server-<version>.ppc64.rpm
Post-install setup
Setuping OProfile plug-in
As the root user, run visudo to edit the /etc/sudoers file. Add the following line, changing <user> for your username:
<user> ALL=(ALL) NOPASSWD : /opt/at5.0/bin/opcontrol
If you intend to use Advance Toolchain 6.0, change "at5.0" to "at6.0". Also make sure the following line is not present or is commented out:
Defaults requiretty
Save the modifications and quit the editor.
Launching the IDE
The IDE will be installed under the /opt/ibm/ibm-sdk-lop directory.
To launch the IDE, run the ibm-sdk-lop script under the installation directory.
IMPORTANT: never use the sdk_launcher binary to launch the IDE!
Documentation
The most recent release notes, a complete user guide and further documentation may be found at IBM SDK for PowerLinux website.
The SDK user guide is available online or in the eclipse UI via Help menu. Browse Help -> Help Contents -> Developing software using IBM SDK for Power Linux to access it
Documentation for each component of the SDK can be found at:
- IBM® Advance Toolchain for PowerLinux
- How to use Advance Toolchain for PowerLinux™
- Performance improvements leveraging the Advance Toolchain
- IBM Advance Toolchain plug-in documentation: launch the IDE and then open the "Help" menu. Select "Help Contents", then "IBM Advance Toolchain Plugi-in User Guide"
- FDPR
- Feedback Directed Program Restructuring (FDPR)
- SCA (Source Code Advisor) plug-in documentation: launch the IDE and then open the "Help" menu. Select "Help Contents", then "FDPR Optimization Tools Documentation"
- Trace Analyzer
- Trace Analyzer plug-in documentation: launch the IDE and then open the "Help" menu. Select "Help Contents", then "Trace Analyzer User Guide"
- Eclipse Linux Tools Project
- Other plug-ins of the IDE
- Launch the IDE and thus open the "Help" menu. Select "Help Contents", and browse through plug-ins documentation.
Known Issues
- Perf plug-in doesn't work in RHEL 5 and SLES 10 due lack of Kernel support. It does work with limited functions on SLES 11 and RHEL 6.2
- The SDK fails to start up on SLES 11 GA due an error in Xlib library. It is recommend to upgrade the system to SP1 or beyond.
- Oprofile fails when the executable/binary pathname has whitespace. Avoid using whitespace in any path to executables you want to analyze with Oprofile. See Eclipse Linux Tools bug#303000 for further details.
- The Welcome screen of the SDK will not behave as intended on SLES10 due to the absence of the xulrunner package on this particular Linux distribution. This behavior can be fixed by manually installing a third-party xulrunner rpm on SLES10, which we do not recommend because such packages lack official support.
- If you work with the sdk on a remote server using VNC then it is possible after a client or network outage to have your server session still active. If you start a new vncserver/vncview session and then start the sdk you will find your workspace locked. You should try to locate your previous vnc session by viewing ~/.vnc on the server and looking for *:?.pid files. The :? will indicate the session number for an exiting VNC session, which you can re-access using vncviewer from your client with the correct session number. If you find that you are unable to access an old session then you can as a last resort try deleting the IDE lock workspace/.metadata/.lock. But be warned that unpredictable results will occur if the previous session is reactivated.
- For navigating in the tutorial and help pages while working on a project it is necessary to start a second instance of the SDK using a dummy workspace name. This will avoid the help window from being locked when a pop-up window has the focus in the SDK.
- Gcov plug-in does not support analysis of binaries compiled with Advance Toolchain 6.0
- Trace Analyzer does not support IO analysis for remote application development.
- Migration Advisor does not support analysis in remote application development context. So projects need to be created locally in order to use migration advisor
- Limitation: Gcov and Gprof plug-ins do not provide support for remote application development