skip navigation
URC Consortium Logo

You are here: MyURC.org > Tools & Prototypes > UCHe > tutorial > Compiling UCHe

UCHe Compilation Instructions


Page Contents:


Compile 3rd Party Libraries

If you are just upgrading UCHe for Intel or ARM, then you do not need to do this, instead just copy the /usr/lib/*.so* and /usr/lib/*.a files from UCHe without Apache TAR to your system's /usr/lib/ and /usr/local/lib.

In any other case, Portable UPnP, LibCURL and FastCGI need to be compiled before compiling UCHe. Please read the following files, included in the UCHe software package:

  1. libupnp Home - http://pupnp.sourceforge.net
  2. libcurl Home - http://curl.haxx.se/libcurl
  3. fastcgi Home - http://www.fastcgi.com
After compiling both libraries make sure the *.a (static library) and *.so* (dynamic libraries) are copied to your host system's /usr/lib/ and /usr/local/lib/ directories.

Instructions for UCHe Compilation directly on and for a Target System

  1. Follow instructions as mentioned below:
    • cd [UCHe/dev directory]
    • ./configure --prefix =/[USER_DEFINED_PATH]
    • make
    • make install
    This will create the following output:
    • /[USER_DEFINED_PATH]/bin/uche.
    • /[USER_DEFINED_PATH]/libs/libUpnpSatelliteBoxAdapter.so
    • /[USER_DEFINED_PATH]/libs/libUpnpTDM.so.
    • /[USER_DEFINED_PATH]/libs/libUpnpAVAdapter.so.
    • /[USER_DEFINED_PATH]/libs/libUrcHttpUIPM.so.
  2. Copy "uche" executable file from /[USER_DEFINED_PATH]/bin/ folder + all dynamic libraries from /[USER_DEFINED_PATH]/libs/ + uch.config in cgi-bin folder of Apache Server.
  3. Read Installation notes for further configurations of Apache and UCHe.

Instructions for Cross Compiling UCHe on Intel based Host system for ARM-based Target System

NOTE: This section serves as an example for Cross Compilation for other Target Systems.

  1. Install the entire packages of target on the host machine. For example UCHe is cross compiled for ARM GNU/Linux on i386 Linux PC as follows:
    • Arm Linux package downloaded from http://www.codesourcery.com.
    • After un-tar of total package, add path using command

      $PATH = ${PATH}:/opt/arm/bin/

      "bin" is the directory where g++ and other compiler executables exist.

    • Give the following command to add the ranlib

      export RANLIB="arm-linux-ranlib"

  2. Apply following commands on the shell script (terminal)
    • cd [UCHe/dev] directory.
    • CC=/opt/arm/arm-2005q3-2/bin/arm-none-linux-gnueabi-g++ ./configure --target=arm-linux --host=arm-linux --build=i386-linux --prefix=/[USER_DEFINED_PATH]
    • make
    • make install

      This will create the following output:

      • /[USER_DEFINED_PATH]/bin/uche.
      • /[USER_DEFINED_PATH]/libs/libUpnpSatelliteBoxAdapter.so
      • /[USER_DEFINED_PATH]/libs/libUpnpTDM.so.
      • /[USER_DEFINED_PATH]/libs/libUpnpAVAdapter.so.
      • /[USER_DEFINED_PATH]/libs/libUrcHttpUIPM.so.
    • Install UCHe binary file (uche) from /[USER_DEFINED_PATH]/bin/ folder + all dynamic libraries from /[USER_DEFINED_PATH]/libs/ + uch.config in cgi-bin folder of Apache Server."
  3. Read Installation notes for further configurations of Apache and UCHe.

Last update: Parikshit Thakur &Team, 2008-12-03

This site is maintained by the University of Wisconsin Trace Center, a member of the Universal Remote Console Consortium.