Build the C POSIX Client Software Libraries

The C POSIX binary file contains libraries for ARM and x86 platforms with Device Library (DL) multi threaded implementation with virtualization support and indirect activation support. These libraries can be used to run the directly connected device sample and gateway device sample applications. To customize and run the C POSIX sample applications, you use the libraries in the source code file.

  1. Open a web browser and browse to theOracle Internet of Things Cloud Service client software libraries download site.
  2. Scroll to C Client Software Libraries and download the Source Code zip file from the POSIX table to the Raspberry Pi home directory (/home/pi).
  3. Run this command to unzip the binary files:unzip iotcs-csl-posix-src-<release number>.zip.
  4. Run this command to install Doxygen: sudo apt-get install doxygen.
  5. Run this command to move to the make directory: cd /home/pi/iotcs/csl/posix/make.
  6. Run this command to compile the source code and build the libdeviceclient.a file: make clean all LIB_CFG=ts.
  7. Run this command to move to the samples/make directory: cd /home/pi/iotcs/csl/posix/samples/make.
  8. Run this command to create the advanced directly connected device sample: make clean all LIB_CFG=ts.
    An application named directly_connected_device_sample.out is created in the ../build/sample/arm/ts directory.
  9. To build additional sample applications, repeat steps 5 to 8 and replace make clean all LIB_CFG=ts with the command listed in the Command column. The Required Libraries column lists the Oracle client software libraries that are required to create the sample application.
    Command Required Libraries Description
    make LIB_CFG=ts Samples and Source Code

    Creates a device library named directly_connected_device_sample.out for a single threaded implementation without virtualization.

    make LIB_CFG=ts_md_gw Samples and Source Code Compiles the code specific to a device client and creates the gateway_device_sample.out device library with a multi-threaded implementation and a asynchronous message dispatcher. Use this command to create gateway support and without virtualization.
    make LIB_CFG=ts_md_vs Samples and Binaries Creates a directly_connected_device_sample.out device library for a multi-threaded implementation with an asynchronous message dispatcher and virtualization.
    make LIB_CFG=ts_md_vs_gw Samples and Binaries Creates a gateway_device_sample.out device library for a multi-threaded implementation with an asynchronous message dispatcher, gateway support and virtualization.