Otavio Rodolfo Piske 584a610f6a ARTEMIS-2260 Fixes a potential NULL pointer dereference on the thin library
If the code fails to allocate native memory for the error message, it
will still perform the call to strcpy, which will result in a
segmentation fault to occur. This may cause the JVM to shutdown abruptly
potentially causing the original root cause to be hidden.
2019-02-22 10:10:28 -05:00
..
2015-04-30 09:07:20 -05:00

This is a simple tutorial on compiling libActiveMQLibAIO.so

DEPENDENCIES

Make sure you install these packages:

- G++ (yum install gcc-c++ or aptitude install g++)
- Gcc (yum insall gcc or aptitude install gcc)
- JDK (full JDK)


LIBAIO INFORMATION

libaio is part of the kernel project. The library makes system calls on the kernel layer.

This is the project information:

Git Repository:  git://git.kernel.org/pub/scm/libs/libaio/libaio.git
Mailing List:    linux-aio@kvack.org


STEPS TO BUILD

1. Make sure you have JAVA_HOME defined, and pointing to the root of your JDK:

Example:

 $> export JAVA_HOME=/usr/share/jdk1.7


2. Call compile-native.sh. Bootstrap will call all the initial scripts you need
 $>  ./compile-native.sh

if you are missing any dependencies, autoconf would tell you what you're missing.


COMPILED FILE

The produced file will be under the ./target/nar (example: ./target/nar/artemis-native-1.0.0-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/libartemis-native-1.0.0.so)
and you will have to rename it manually under ./bin following the appropriate pattern.


DOCUMENTATION

The User Manual, chapter 38 (Libaio Native Libraries) will provide more details about our native libraries on libaio.