Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Scope

  • The libsosperlscript.so will no longer be included in the setup.

  • This documentation should describe how the library libsosperlscript.so can be built on UNIX environments.
  • This library is required for Perl API jobs.

Prerequisites

  • The sources have to be downloaded from the Git repositories. The sources are available from https://github.com/sos-berlin
  • Additional tools will be referenced in this documentation

As mentioned above, additional tools have to be downloaded and configured following the below order:

Git

  • You can find the Git download and documentation here.
  • SOS uses Git 1.7.1. You can download the latest release from here.

Anchor
java
java
Java JDK

  • The path to your Java JDK is required will be needed for the compilation
  • SOS uses the path /usr/java/jdk1.8.0_31

Perl

  • Version: Perl 5.10 or above
  • You can find the downloads here.
  • No further configuration is required for Perl. 

 

Anchor
cpp-compiler
cpp-compiler
C++ Compiler

  • Set up a development environment for Linux and Windows. The following packages are required:
    • gcc - GNU Compiler, starting with version 4.1.3
    • zlib-devel
    • binutils (version corresponding to gcc)
  • SOS uses gcc 4.4.6

Download from the Repositories

Prepare a folder in your file system where you can clone the repositories into.

Repository for the JobScheduler Engine

Execute the following command in your Git Shell:

Code Block
languagebash
git clone https://github.com/sos-berlin/scheduler-engine

to download the project "scheduler-engine".

Compile the Library

Once the folder scheduler-engine is created (from cloning the repositories), change into scheduler-engine/engine-kernelcpp and create a folder LINKS:

Code Block
languagebash
# cd scheduler-engine/engine-kernelcpp
# mkdir LINKS

Access to the folder LINKS and set a symbolic link to your Perl installation as it follows:

Code Block
languagebash
# cd LINKS
# ln -s /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi perl
Note

If you are not using multithreading for Perl (or the multithreading links to another folder) you might have to use a shorter path, something like /usr/lib64/perl5

In order to compile, the last step is to call the makefile make-libsosperlscript:

Code Block
languagebash
# JAVA_HOME=<path_to_java_jdk> make/make-libsosperlscript

Support 

Commercial License

If you purchased a Commercial License with the Service Request Support Option, then the build process will be supported by our Support Team should you face problems. The applicable service level is the same as for severity level "minor", see Product Maintenance.

Open Source License

If you use the Open Source License then the build process will be supported by using our Community Resources. A forum for build issues is available at SourceForge, see https://sourceforge.net/p/jobscheduler/discussion/bp/

Note
Note: no service levels are guaranteed including response times and resolution times.

Troubleshooting

Error: "z_com.h:10:17: error: jni.h: No such file or directory"

Expand

This error occurs when building on a Windows system where Cygwin is not available. The error log states "cannot run program bash" which is a Linux shell command and has to be executed by Cygwin when running on a Windows system. Please see cygwin explanations for resolving this problem.the path in the variable JAVA_HOME used for the compilation of the library does not match the path to your Java JDK. SOS uses the path:

usr/java/jdk1.8.0_31

Error: "make: *** No rule to make target '.../LINKS/perl/CORE/EXTERN.h', needed by `perl.o'.  Stop."

Expand

This error occurs when a Java JDK 32-bit is installed on a 64-bit system, or when the global variable "JAVA_HOME" is either not set or not properly set. Please see Java explanations for resolving this problem.the symbolic link in the folder LINKS is not set right. As mentioned before, if you are not using multithreading for Perl (or the multithreading links to another folder) you might have to use a shorter path, something like /usr/lib64/perl5