...
Scope
The
libsosperlscript.so
library is included with the JobScheduler setup and acts as an interface to a local Perl installation should Perl API Jobs be used.- This library is used exclusively used for job scripts of type
<script language="perlscript">
, i.e. for jobs that make use of the JobScheduler API. - This library is not required for Perl scripts that can be executed from the command line independently of a JobScheduler instance.
- The library in the JobScheduler setup only works if you use the JobScheduler API without additional Perl modules. See also
Jira server SOS JIRA serverId 6dc67751-9d67-34cd-985b-194a8cdc9602 key JS-1576
- This library is used exclusively used for job scripts of type
- This article explains how to build the
libsosperlscript.so
library for Unix environments.Jira server SOS JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 6dc67751-9d67-34cd-985b-194a8cdc9602 key JS-1614
Prerequisites
- The JobScheduler sources have to be downloaded from the SOS Git repositories. The sources are available from https://github.com/sos-berlin
- Additional tools have to be downloaded and configured following the below ordersequence of steps.
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 | ||||
---|---|---|---|---|
|
- The path to your Java JDK is required 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 | ||||
---|---|---|---|---|
|
- Set up a development environment for Unix. The following packages are required:
gcc
- GNU Compiler, starting with version 4.1.3zlib-devel
binutils
(version corresponding togcc
)
- SOS uses
gcc
4.4.6
Download from the Repositories
Prepare a folder in your file system where to clone the repositories to.
Repository for the JobScheduler Engine
Execute the following command in your Git Shell:
Code Block | ||
---|---|---|
| ||
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 the working directory to scheduler-engine/engine-kernelcpp
and create a folder LINKS
:
Code Block | ||
---|---|---|
| ||
cd scheduler-engine/engine-kernelcpp mkdir LINKS |
Switch to the folder LINKS and create a symbolic link to your Perl installation as follows:
Code Block | ||
---|---|---|
| ||
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 |
In order to compile the last step is to call the makefile make-libsosperlscript
:
Code Block | ||
---|---|---|
| ||
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 assisted by our Support Team should you face any 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/Buiild Process Forum
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 the path in the variable
|
Error: "make: *** No rule to make target '.../LINKS/perl/CORE/EXTERN.h', needed by `perl.o'. Stop."
Expand |
---|
This error occurs when a the symbolic link in the folder LINKS is not set correctly. If you are not using multithreading for Perl (or the multithreading links to a different folder) you might have to use a shorter path, something like |
Installation
Warning |
---|
The Perl and the Java version at run-time have to be the same as used at compile-time of libsosperlscript.so. Please note that you get a segmentation fault in the Perl API job if you use ...
|
- Copy the
libsosperlscript.so
into the./lib
directory of the JobScheduler installation. Create a symlink in the
./lib
directory which points to thelibperl.so
of the Perl installationCode Block ln -s /usr/lib64/perl5/<Perl version>/x86_64-linux-thread-multi/CORE/libperl.so libperl.so
Set the
PERL5LIB
environment variable if you get the following error in the Perl API jobCode Block COM-80020009 DISP_E_EXCEPTION [begin] [] [PERL-2 [[perl_parse() Can't locate strict.pm in @INC (you may need to install the strict module)
The article How to program the JobScheduler API in Perl describes how to set the
PERL5LIB
environment variable. A JobScheduler restart is required.- Please delete the files
./lib/libstdc++.so.6.0.8
./lib/libstdc++.so.6
./lib/libgcc_s.so.1
./lib/libgcc_s.so
in the JobScheduler installation if you get the following error in the Perl API job
Code Block dlopen("libsosperlscript.so"): /opt/sos-berlin.com/jobscheduler/jobscheduler.1.10_4110/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found
A JobScheduler restart is required.
See alsoJira server SOS JIRA serverId 6dc67751-9d67-34cd-985b-194a8cdc9602 key JS-980