====== Fixing CCE on 5209R ====== During the development of 5209R, Michael came up against a pretty big problem. The PHP library for CCE that is used to communicate from the GUI to the back-end of BlueOnyx would not compile. Michael made a valiant effort to get around this, but sadly - this was not resolved. Currently, 5209R is built with a workaround. Instead of a library coded in C with new functions imported into PHP, Michael created a PHP library with all of the functionality written in PHP - talking to CCE directly without any library. While the current workaround works - it is not as fast as the previous library code that was written in C. This wiki page is designed to document how to build the CCE library on a 5209R box, so that other helpers might assist in getting the official CCE library to build on 5209R ===== BlueOnyx Development Environment ===== Build a clean 5209R server using a recent BlueOnyx cd. Login as root, and execute the following commands to be ready to do some build work. yum -y install sausalito-devel-tools flex-devel gettext ln -s ~/rpmbuild/ /usr/src/redhat mkdir -p /home/devel/BlueOnyx/trunk cd /home/devel/BlueOnyx/trunk svn checkout https://devel.blueonyx.it/repos/trunk/BlueOnyx BlueOnyx ===== Building on 5209R ===== On 5209R, Michael disabled the build of the CCE client, and instead includes the other custom PHP library. To convert the build process to use the original library, execute the following commands to disable the new custom PHP library. cd /home/devel/BlueOnyx/trunk/BlueOnyx/ cp utils/cce/client/php/src/Makefile 5209R/utils/cce/client/php/src/Makefile ===== Custom Patches ===== The patches below are "work in progress" for what is needed to build CCE on 5209R cd /home/devel/BlueOnyx/trunk/BlueOnyx/5209R/utils/cce sed -ie "s/^function_entry/zend_function_entry/" client/php/src/cce.c sed -ie "s/pval/zval/" client/php/src/cce.c sed -ie "s/getParameters/zend_get_parameters/" client/php/src/cce.c ===== Build the CCE RPM's ====== cd /home/devel/BlueOnyx/trunk/BlueOnyx/5209R/utils/cce make clean make make rpm ===== Testing ===== If the above build process was successful, its now time to test. Below will be a set of instructions that can be used to validate if your library is working as expected.