Compiling Core Plugins

From LinuxMCE
Revision as of 02:34, 31 July 2011 by Langstonius (Talk | contribs) (Other packages and Source)

Jump to: navigation, search

This is development entry explaining the how-to behind compiling linuxMCE standard plugins. These plugins represent different functionality that communicates with the core and other devices. The significance of plugins is that they run in the DCERouter memory space, so a non functioning one can cause serious stability issues.

It should be noted that a familiarity with svn and command line compiling arguments is quite helpful in this process.

The Plugins

  • File Grids Plugin
  • General info Plugin
  • Climate Plugin
  • Datagrid Plugin
  • Infrared Plugin
  • Lighting Plugin
  • Orbiter Plugin
  • Media Plugin
  • Telecom Plugin
  • Event Plugin
  • Security Plugin
  • Plug and Play Plugin
  • Xine Plugin
  • MythTV Plugin
  • Game Plugin

What you Need

To get started on this process, you will need to perform some initial preperation steps.

Subversion and the source

Step one, checkout the source. You will need to perform an svn checkout of the source tree. While that may sound intimidating, its quite simple actually.

  • Install subversion via apt-get, i.e. apt-get install subversion
  • Perform the subversion checkout of the source tree. In this case, this would be the /src directory. To do this you enter:
svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src

Now you will have the necessary source to compile plugins, but further steps will be needed.

Other packages and Source

You will also need to install the build-essential package

sudo apt-get install build-essential


You will also need the DCE library objects. To obtain these, copy them from /usr/pluto/lib/ to the lib directory in your source tree like in the example below:

cp /usr/pluto/lib/* /mysvncheckoutdir/src/lib

Building the Plugins

Find the directory of the plugin in question.

  • You can then type 'make' or if not admin 'sudo make'
  • NOTE* needs more detail

This should provide the shared library objects for the plugin. Now you will need to stop the running plugin that correlates to the one you just built, and then copy it into place.

And now you have completed the task of building a plugin from the source!