Software Dependencies¶
This chapter is out of date and is no longer being maintained. It is only being retained for historical purposes. The replacement chapter can be found in Software Dependencies.
This chapter documents the exact list of third party software upon which FWD depends. These dependencies include subsystems (e.g. the Java Development Kit), compilers (e.g. gcc
), middleware (e.g. RDBMS), utilities, jar files and shared libraries (e.g. .so
files on UNIX/Linux, DLL
files on Windows). All of these are required for FWD
to operate in one way or another, but the full list is not required for all use cases.
From this information it is possible to acquire the code needed and to build or rebuild the specific version required.
In “Software Dependencies” a few 3rd party libraries have been built or download information has been provided. Build all of them before proceeding further. The following table summarize where the built libraries should be copied or moved:
Library | Sample file name | Actions |
---|---|---|
ANTLR | antlr.jar |
Copy to p2j/lib/ |
Asm | asm.jar |
Copy to p2j/lib/ |
C3p0 | c3p0-0.9.1.jar |
Copy to p2j/lib/ |
Apache Commons BCEL™ | bcel-5.2.jar |
Copy to p2j/lib/ |
Code Generation Library | cglib-2.1_3.jar |
Copy to p2j/lib/ |
dom4j | dom4j-1.6.jar |
Copy to p2j/lib/ |
ehcache | ehcache-1.1.jar |
Copy to p2j/lib/ |
H2 Database | h2.jar p2jspi.jar |
Copy to p2j/lib/ |
Hibernate 3 | hibernate3.jar |
Copy to p2j/lib/ |
Jakarta Commons Library | commons-beanutils-core.jar commons-codec-1.3.jar commons-collections-2.1.1.jar commons-logging-1.0.4.jar |
Copy all to p2j/lib/ |
Java Servlet API | servlet-api-2.5-6.1.14.jar |
Copy to p2j/lib/ |
Java Transaction API | jta.jar |
Copy to p2j/lib/ |
Jetty | jetty-6.1.14.jar jetty-util-6.1.14.jar |
Copy all to p2j/lib/ |
Ncurses 5.7 | libncurses.so.5 |
Install to /usr/lib/ |
PL/Java 1.1 | pljava.jar pljava.so |
Copy to p2j/lib/ |
PostgreSQL 8.2 | postgresql-8.2-508.jdbc4.jar |
Copy to p2j/lib/ |
Purposes
build (java, native)
conversion
runtime (client [interactive, batch, appserver agent, web], application server, db server)
some dependencies are platform-specific
[CA]TODO: There should be only one chapter which documents all the 3rd-party libraries (grouped by modules: hibernate, stax, TitanDB, etc), and the goal of each library: runtime, conversion, etc.[/CA]
jdk 7
ant
gcc + binutils OR mingw
unzip
libffi
ncurses
Build Environment¶
Due to the ANTLR dependencies, version 1.5.3 does not work. Please ensure that Ant can be found via the user's PATH
.
Conversion¶
Runtime¶
Client¶
Module | Project and Version | Modified | Purpose |
---|---|---|---|
libncurses.so.5 |
ncurses library 5.7 (last available 5.9) |
Yes | A terminal-independent method for providing a character user interface. Required only on Linux/UNIX. |
libffi | |
||
libjvm | |
Application Server¶
Module | Project and Version | Modified | Purpose |
---|---|---|---|
antlr.jar |
ANTLR 2.7.4 | No | A Language Recognition tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting. |
asm.jar |
Asm 1.5.3 | No | An all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. Dependency of Hibernate4. |
bcel-5.2.jar |
Apache Commons BCEL™ | No | Gives users a convenient way to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular. |
c3p0-0.9.1.jar |
C3p0 0.9.1 | No | An easy-to-use library for augmenting traditional (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension. Dependency of Hibernate4. |
cglib-2.1_3.jar |
Code Generation Library 2.1 | No | A Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime. Needed by Hibernate. |
commons-beanutils-core.jar |
Jakarta Commons Beanutils 1.6 | No | Provides easy-to-use wrappers around the Java reflection and introspection APIs. Used for logging. |
commons-codec-1.7.jar |
Jakarta Commons Codec 1.7 | No | Provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs. Encode and decode the Progress 4GL RAW data type to and from a string representation. Dependency of TitanDB. |
commons-collections-3.2.1.jar |
Jakarta Commons Collections 3.2.1 | No | Extends or augments the Java Collections Framework. Used for logging. Dependency of TitanDB. |
commons-configuration-1.6.jar |
Apache Commons Configuration 1.10 | No | Provides a generic configuration interface which enables a Java application to read configuration data from a variety of sources. Dependency of TitanDB. |
commons-httpclient-3.1.jar |
Jakarta Commons HttpClient 3.1 | No | Provides an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations. Dependency of AXIS2. |
commons-lang-2.5.jar |
Apache Commons Lang 2.5 | No | Provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, concurrency, creation and serialization and System properties. Dependency of TitanDB. |
commons-logging-1.1.1.jar |
Jakarta Commons Logging 1.1.1 | No | A library that uses the commons-logging API can be used with any logging implementation at runtime. Dependency of TitanDB and AXIS2. |
dom4j-1.6.jar |
dom4j 1.6 | No | An easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP. Dependency of Hibernate4. |
ehcache-core-2.6.21.jar |
Ehcache 2.6.2 | No | An open source, standards-based cache used to boost performance, offload the database and simplify scalability. It can scale from in-process with one or more nodes through to a mixed in-process/out-of-process configuration with terabyte-sized caches. Dependency of Hibernate4. |
h2.jar |
H2 Embedded Database 1.3.169 | No | H2 database is used in embedded mode for temporary table support and for internal runtime housekeeping. Also, it can be used with a permanent database, for development and testing purposes. |
hibernate-c3p0-4.1.8.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.8.jar hibernate-ehcache-4.1.8.jar hibernate-jpa-2.0-api-1.0.1.Final.jar |
Hibernate 4.1.8 | Yes | A high-performance Object/Relational persistence and query service. It takes care of the mapping from Java classes to database tables and from Java data types to SQL data types. It provides data query and retrieval facilities that significantly reduce development time. [CA]The hibernate-core-4.1.8.jar is a patched version to allow dynamic loading/unloading of DMOs at runtime. The patch resides in p2j/lib/hibernate-orm-4.1.8.Final_patch.zip . [/CA]TODO: split these? |
jetty-all-9.1.2.v20140210.jar |
Jetty 9.1.2 | No | Provides an HTTP server, HTTP client, and javax.servlet container |
jta.jar |
Java Transaction API 1.1 | No | Specifies standard Java interfaces between a transaction manager and the parties involved in a distributed transaction system: the resource manager, the application server, and the transactional applications. Dependency of Hibernate4. |
postgresql-9.2-1002.jdbc4.jar |
PostgreSQL 9.2 | No | PostgreSQL jdbc drivers. |
javax.servlet-api-3.1.0.jar |
Java Servlet API 3.1.0 | No | Includes several Java interfaces and fully defines the link between a hosting server and servlets. The Servlet API is defined as an extension to the standard JDK |
javassist-3.15.0-GA.jar |
Javassist 3.15.0 | No | A class library for editing bytecodes in Java. Dependency of Hibernate4. |
jboss-logging-3.1.0.GA.jar |
JBoss Logging 3.1.0 | No | Logger for JBoss Application Server. Dependency of Hibernate4. |
jboss-transaction-api_1.1_spec-1.0.0.Final.jar |
JBoss Transaction API 1.1 | No | Provides custom Java interfaces used by the transaction manager and the parties involved in a distributed transaction system. Dependency of Hibernate4. |
quartz-2.2.1.jar |
Quartz 2.2.1 | No | A job scheduling library that can be integrated within any Java application. FWD uses only the cron expression parser provided by this library. |
bcpkix-jdk15on-150.jar |
BouncyCastle 1.5.0 | No | A lightweight cryptography API with implementations for KIX, CMS, EAC, PKCS, OCSP, TSP, OPENSSL. |
bcprov-jdk15on-150.jar |
BouncyCastle 1.5.0 | No | A provider for the Java Cryptography Extension and the Java Cryptography Architecture. |
msv-core-2010.2.jar stax2-api-3.1.1.jar stax-utils.jar xsdlib-2010.1.jar woodstox-msv-rng-datatype-20020414.jar woodstox-core-asl-4.2.0.jar |
SAX support | No | TODO: finish this |
axiom-api-1.2.13.jar axiom-impl-1.2.13.jar axis2-adb-1.6.2.jar axis2-kernel-1.6.2.jar axis2-transport-http-1.6.2.jar axis2-transport-local-1.6.2.jar httpcore-4.0.jar mail-1.4.jar neethi-3.0.2.jar wsdl4j-1.6.2.jar XmlSchema-1.4.7.jar |
AXIS2 support | No | TODO: finish this |
akiban-persistit-3.3.0.jar blueprints-core-2.4.0.jar colt-1.2.0.jar guava-14.0.1.jar high-scale-lib-1.1.2.jar hppc-0.4.2.jar kryo-2.21-shaded.jar metrics-core-3.0.0-BETA3.jar slf4j-api-1.7.5.jar slf4j-jdk14-1.6.1.jar spatial4j-0.3.jar titan-core-0.4.2.jar titan-lucene-0.4.2.jar |
TitanDB support | No | TODO: finish this |
titan-persistit-0.4.2.jar lucene-analyzers-common-4.4.0.jar lucene-core-4.4.0.jar lucene-queries-4.4.0.jar lucene-queryparser-4.4.0.jar lucene-spatial-4.4.0.jar |
TitanDB - Lucene Index support | No | TODO: finish this |
Database Server¶
Module | Project and Version | Modified | Purpose |
---|---|---|---|
pljava.jar |
PL/Java 1.1 | No | PL/Java is an add on module to the PostgreSQL backend. It falls into the same category as PL/SQL, PL/TCL, PL/Perl, and PL/Python. When installed, functions and triggers can be written in Java using your favorite Java IDE and installed into the database. |
p2jspi.jar |
FWD Collation Services | Yes | FWD uses a custom implementation of java.text.spi.CollatorProvider to enable H2 to sort text data the same way Progress would. |
PostgreSQL | |
Obtaining the 3rd Party Code¶
All of the projects upon which FWD is dependent are licensed under permissive open source licenses.
Some of the projects are redistributed having as a bundle some other libraries. It is the case of license used for distribution of Java EE (Oracle Binary Code License Agreement for Java EE Technologies) that covers both JTA and the Servlet API. This license allows for redistribution under other licenses (see Supplemental License Term B), so long as (among other conditions), Oracle's rights under its Binary Code License are adequately protected under the license used for redistribution. Also it is the case of Apache license for Jetty distribution that covers JTA and Servlets API. Similarly, LGPL of Hibernate that covers C3p0, ANTLR, dom4j and ehcache. Therefore, these licenses (i.e., LGPL and Apache, respectively) are what we rely upon for these libraries. They allow our customers to redistribute these libraries for commercial purposes.
The following table lists each project referenced above and summarizes how it is licensed and how to obtain the code:
TODO: cmplete with the other jars
Project and Version | License | How to Obtain | Observations |
---|---|---|---|
ANTLR 2.7.4 | BSD License http://www.antlr.org/license.html |
http://www.antlr.org/download.html Linux repositories (2.7.7) |
Also distributed as bundle of Hibernate under LGPL license |
Asm 1.5.3 | France Telecom Proprietary License http://asm.ow2.org/license.html |
http://asm.ow2.org/download/index.html Linux repositories (3.3.2-1) |
|
Apache Commons BCEL™ | Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 |
http://commons.apache.org/bcel/download_bcel.cgi | |
C3p0 0.9.1 | GNU Lesser General Public License http://www.gnu.org/copyleft/lesser.html |
http://sourceforge.net/projects/c3p0/ Linux repositories (0.9.1.2-5) |
Also distributed as bundle of Hibernate under LGPL license |
Code Generation Library 2.1 | Apache License 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt |
http://sourceforge.net/projects/cglib/files | |
dom4j 1.6 | BSD style license http://dom4j.sourceforge.net/dom4j-1.6.1/license.html |
http://dom4j.sourceforge.net/dom4j-1.6.1/download.html | Also distributed as bundle of Hibernate under LGPL license |
ehcache 1.1 | Apache 2.0 License http://ehcache.org/about/license |
http://sourceforge.net/projects/ehcache/ | Also distributed as bundle of Hibernate under LGPL license |
H2 Database 1.3.169 | MPL 1.1 or EPL 1.0 http://www.h2database.com/html/license.html |
http://www.h2database.com/html/download.html | |
Hibernate 4 | GNU Lesser General Public License http://www.gnu.org/copyleft/lesser.html |
http://www.hibernate.org/downloads Linux repositories (3.6.9) |
The distribution license also covers other libraries among which: antlr, dom4j, C3p0, ehcache and Java Transaction API. |
Jakarta Commons Beanutils 1.6 | Apache License 2.0 http://commons.apache.org/beanutils/license.html |
http://commons.apache.org/beanutils/download_beanutils.cgi | |
Jakarta Commons Codec 1.3 | Apache License 2.0 http://www.apache.org/licenses/ |
http://commons.apache.org/codec/download_codec.cgi | |
Jakarta Commons Collections 2.1.1 | Apache License 2.0 http://www.apache.org/licenses/ |
http://commons.apache.org/collections/download_collections.cgi | |
Jakarta Commons Logging 1.0.4 | Apache License 2.0 http://commons.apache.org/logging/license.html |
http://commons.apache.org/logging/download_logging.cgi | |
Java Servlet API 2.5 | Oracle Binary Code License Agreement http://download.oracle.com/otn-pub/java/licenses/OTN_JavaEE_Legacy_Binary-Code-License_30Jan2012.txt |
http://www.oracle.com/technetwork/java/javaee/downloads/java-archive-downloads-eesdk-419427.html#java_ee_sdk-5_08-jdk-6u17-nojdk-oth-ml-JPR Linux repositories |
Also distributed as bundle of Jetty under Apache License Version 2.0 |
Java Transaction API 1.1 | "Sun" ENTITLEMENT for SOFTWARE http://download.oracle.com/otndocs/jcp/jta-1.1-classes-oth-JSpec/jta-1.1-classes-oth-JSpec-lice |
http://download.oracle.com/otndocs/jcp/jta-1.1-classes-oth-JSpec/ | Also distributed as bundle of: • Java EE under Oracle Binary Code License Agreement license • Hibernate under LGPL license • Jetty under Apache License Version 2.0 |
Jetty 9.1.2 | Apache License 2.0 http://www.eclipse.org/jetty/licenses.php |
http://www.eclipse.org/jetty/downloads.php Linux repositories (6.1.24) |
The distribution license also covers other libraries among which: Java Servlet API and Java Transaction API |
NCurses 5.7 | BSD-like | http://ftp.gnu.org/pub/gnu/ncurses Linux repositories (5.9-4) |
|
PL/Java 1.1 | BSD License | http://pgfoundry.org/projects/pljava | |
PostgreSQL 9.2 | PostgreSQL license http://www.postgresql.org/about/licence |
http://www.postgresql.org/download/ Linux repositories (9.1.5) |
|
Building the 3rd Party Code¶
Here follows the instructions for how to build the 3rd party binaries that must be patched in order to work with FWD.
NCURSES¶
All common Linux distributions have support for and include NCURSES by default.
The important step here is to patch NCURSES. The FWD support of a terminal client (Character User Interface or ChUI) requires NCURSES for terminal support. A customized version of NCURSES 5.5 is required. NCURSES 5.5 is the minimum starting point since a bug has been found in the NCURSES getch()
that affects process launching (getch()
improperly blanks the screen). This bug is fixed in NCURSES 5.5.
In addition, an NCURSES modification is required to provide enough thread safety to enable a dual-threaded approach to using NCURSES (NCURSES is not thread safe). The basic idea is that one thread may be dedicated to reading the keyboard via getch()
while another thread is used for all output tasks.
The patches for NCURSES are included in the FWD project. For NCURSES v5.5 and v5.6, use:
p2j/lib/ncurses_curses_h_in_20060828.patch p2j/lib/ncurses_lib_getch_c_20060828.patch
For NCURSES v5.7 use:
p2j/lib/ncurses_curses_h_in_20060828.patch p2j/lib/ncurses_lib_getch_c_v5.7_20090512.patch
The following is a simplified description of how to uses these patches to modify the Ubuntu NCURSES installation:
Obtain the source code
cd ~ apt-get source ncurses
Check that you have libncurses5-dev package installed (developer's libraries and docs for ncurses)
cd ~ aptitude search %p libncurses
If not:
cd ~ apt-get install libncurses-dev
Patch the source
Starting in Ubuntu Jaunty Jackalope (v9.04), ncurses 5.7 is the installed version. This example will use the version numbers and patch file names for v5.7.
cd ncurses-5.7 patch ncurses/base/lib_getch.c <path_to_p2j>/p2j/lib/ncurses_lib_getch_c_v5.7_20090512.patch patch include/curses.h.in <path_to_p2j>/p2j/lib/ncurses_curses_h_in_20060828.patch ./configure –with-shared make su root make install cd /lib cp libncurses.so.5.7 libncurses.so.5.7.ori cp /usr/lib/libncurses.so.5.7 . rm libncurses.so.5 ln -s libncurses.so.5.7 libncurses.so.5
WARNING: if the source version you are using is not customized to your distribution it is recommended that you DO NOT run make install
or make install.data
(this would install a new terminfo database). It has been found that Linux distributions such as SuSE has a customized terminfo database which behaves better than the one (at least in the xterm case) which is included in NCURSES 5.5. If you do decide to install this, you really should backup /usr/share/terminfo
first. However, if you use apt-get
on Ubuntu, then you may safely use make install
which installs everything.
TERMINFO¶
Using the vt320 terminal type, this example will show the process by which the TERMINFO definitions can be updated.
Decompile the vt320 TERMINFO entry into a temporary file:
infocmp vt320 > vt320.tmp
Edit the vt320.tmp
file. Notice the TERMINFO location mentioned in the first line. It is typically:
/usr/share/terminfo/v/vt320
Apply the specific changes in the table below. Save the file. Recompile the TERMINFO entry using the following command:
sudo tic -o/usr/share/terminfo vt320.tmp
The following are the most common edits that are needed:
Definition | xterm | vt220 | vt320 |
---|---|---|---|
TAB | n/a | n/a | ensure that ht=^I, exists and that knxt=^I, is deleted |
HOME | n/a | n/a | add or modify the khom= to be khome=\EOH, |
END | n/a | add or modify the kend= to be kend=\E[F, |
add or modify the kend= to be kend=\EOF, |
BACKSPACE | add or modify kbs= to be kbs=\177, |
n/a | n/a |
cursor visibility | n/a | add or modify the civis= to be civis=\E[?25l, AND add or modify the cinorm= to be cnorm=\E[?25h |
n/a |
HIBERNATE¶
A customized version of Hibernate v3.0.5 is included in the FWD project. At this time, there are significant dependencies upon this version of Hibernate, so it is a requirement to use this specific version.
Hibernate is used to provide object to relational database mapping, database caching and other data persistence support.
[CA]TODO: how to patch hibernate 4[/CA]
Install/Setup¶
Download the hibernate-3.0.5.zip
. Execute the following commands:
cd ~/projects unzip hibernate-3.0.5 cd hibernate-3.0/grammar patch hql-sql.g $P2J/lib/hibernate_3.0.5_hql-sql.g.20060906_patch patch hql-sql.g $P2J/lib/hibernate_3.0.5_hql-sql.g.20061018_patch patch sql-gen.g $P2J/lib/hibernate_3.0.5_sql-gen.g.20060906_patch patch sql-gen.g $P2J/lib/hibernate_3.0.5_sql-gen.g.20061018_patch patch sql-gen.g $P2J/lib/hibernate_3.0.5_sql-gen.g.20061101_patch cd .. patch src/org/hibernate/hql/ast/SqlGenerator.java \ $P2J/lib/hibernate_3.0.5_SqlGenerator.java.20061024_patch
Build¶
To build the modified Hibernate:
cd ~/projects/hibernate-3.0/ java -cp "lib/ant-launcher-1.6.3.jar" org.apache.tools.ant.launch.Launcher -lib lib
Post-Build¶
The rebuilt Hibernate jar file must be copied to $P2J/lib/
.
cp ../hibernate/hibernate3.jar $P2J/lib/
It is a good practice to completely rebuild FWD once the new version of Hibernate is copied in.
PL/JAVA¶
PL/Java is used to provide user defined functions written in Java for use with the PostgreSQL database. This is used to improve performance by significantly reducing the number rows that are returned from the database, since the filtering of those rows can be implemented on the database server using custom Java logic.
At this time, the version of PL/Java that is used does include some fixes that were written by Golden Code. Since those fixes have been accepted into the main source tree, there are custom FWD patches for PL/Java.
However, due to the need to support different versions of PostgreSQL over time, it may be necessary to checkout the latest version of PL/Java and rebuild it on the platform on which it will run. The current production version of PL/Java does not support the latest PostgreSQL versions. Another reason to build PL/Java is the case where a 64-bit platform is being used, since the production builds of PL/Java are only 32-bit.
[CA]TODO: pljava for Java 7[/CA]
Prerequisites¶
In order to build PL/Java from sources you will need the following software to be installed:
- PostgreSQL >= 8.0.3 (no PostgreSQL source is needed). You also need to install
postgresql-server-dev-X.Y
for building a server-side extension (orlibpq-dev
for building a client-side application). The PostgreSQL 9.1 fails to compile. The 8.4 will complain that the version is obsolete. - A Java runtime 1.4.x, 1.5.x or 1.6.x. However if you have PostgreSQL => 8.4.x, only Java 1.6.x and higher is supported for builds of PL/Java. Also make sure that
JAVA_HOME
environment variable is set. - Make sure that the
pg_config
utility is installed and is available in your search path. If you have installed PostgreSQL using a software package manager (rpm, deb etc.), thenpg_config
most likely will have been installed as part of the PostgreSQL server development package.
Obtaining the Source Code¶
You can download the latest source code from the download area of the PL/Java project: http://pgfoundry.org/frs/?group_id=1000038. The source name is expected to be pljava-src-x.x.x.tar.gz
, where x.x.x is the PL/Java version. Extract the source code using the following command:
tar xzvf pljava-src-x.x.x.tar.gz
However at the time this manual was written the latest version of PL/Java (1.4.3) could not be compiled with Java 1.6. In order to solve this problem, the source code with the tag java6
should be extracted from the project CVS. Use these commands to do this:
cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pljava login
(when prompted for a password, press Enter)
cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pljava checkout -r java6 org.postgresql.pljava
Build¶
Before compiling, a small patch should be done:
org.postgresql.pljava/src/java/pljava/org/postgresql/pljava/jdbc/SingleRowWriter.java
:154: getHoldability()
should not throw java.sql.SQLException
because of super class's overrided method: org.postgresql.pljava.jdbc.SingleRowResultSet
.
org.postgresql.pljava/src/java/pljava/org/postgresql/pljava/SessionManager.java
:36: s_getSession = spc.getMethod("getSession", (java.lang.Class[])null);
org.postgresql.pljava/src/java/pljava/org/postgresql/pljava/SessionManager.java:38: return (Session)s_getSession.invoke(null, (java.lang.Object[])null);
Remove -Werror=format-security
flag of gcc or a few “format not a string literal and no format arguments” errors will occur in org.postgresql.pljava/src/C/pljava/Backend.c
, at lines: 216
, 279
, 286
, 912
.
In order to compile sources, just go to the root directory of the sources (where main Makefile
resides) and run make
command. The make script should automatically detect your JVM and build a 64-bit or 32-bit native library accordingly.
After that you should be able to pick build/pljava.jar
and build/objs/pljava.so
. See “PL/Java installation” chapter on how to use them during installation.
© 2004-2017 Golden Code Development Corporation. ALL RIGHTS RESERVED.