Compiling on the Pad
From PepperWiki
This information is collected mostly from the Pepper Community Forums, and is probably incomplete.
Specific sources:
- Forum Thread: Installing gcc on pad
- Pepper Pad Development Resources - very minimal information currently (more details have been promised, but they have not yet materialized)
[edit] Packages to install
Install the necessary development packages from the MontaVista RPM directory /opt/montavista/pro/devkit/arm/xscale_le/packages/pro (See Installing RPMs if you need help using RPM)
for C Development:
- gcc
- gcc-doc
- glibc-dev
- glibc-doc
for C++ Development:
- g++
- libstdc++5
Pepper also provides some -devel packages in /opt/pup/RPMS that should already be installed by default:
- xorg-devel (previously pepperfdo-devel in v2.0)
- gtk+--devel
- atk-devel
- pango-devel
- cairo-devel
- freetype-devel
Also install any other MontaVista lib and dev packages required for whatever you are trying to compile, some likely requirements are:
- gettext
- info
- make
- m4
- glib and glib-dev
- bison
- flex
[edit] Non-standard Include & Library Directories
Some of the pepper libraries are installed in non-standard locations, such as:
- /opt/fdo/include and /opt/fdo/lib for Xwindows include and library files, respectively
- /opt/gtk/include and /opt/gtk/lib for GTK+ 2.x include and library files, respectively
[edit] Tips
Shutdown the Pepper Keeper before starting a native compile to free up memory. Use "service pepper stop" and "service pepper start" to shutdown and restart.
If you're not compiling remotely, you can also free more memory by turning off WiFi with "service wpad stop".
If you're building from a source RPM, you will likely have to edit the spec file's BuildReqs and Requirements sections to make it conform to the package names on the pad. Montavista likes to name their development library packages with the convention foo-dev instead of the usual foo-devel.
If the software uses a configure script, run ./configure --help first to check for special options that you might have to specify, such as the X include and library paths above.

