5. Compilation de la librairie libdb_java.so

publicité
HOW TO: Compiler les fichiers .SO de Berkeley 2.7.7 Sur
UBUNTU
1
Sommaire
HOW TO: Compiler les fichiers .SO de Berkeley 2.7.7 Sur UBUNTU .................................... 1
Sommaire ................................................................................................................................... 2
1. Introduction ........................................................................................................................ 2
2. Préparations / Pré requis ..................................................................................................... 2
3. Installation de Berkeley ...................................................................................................... 3
4. Compilation de la librairie libdb.so .................................................................................... 3
5. Compilation de la librairie libdb_java.so ........................................................................... 3
a. Génération des classes Java............................................................................................ 3
b. Compilation de la librairie libdb_java.so ....................................................................... 4
c. Regrouper les librairies générées ................................................................................... 5
6. Vérification des librairies .so ............................................................................................. 5
1. Introduction
Ce manuel a pour but de décrire la procédure à suivre pour compiler les librairies .so d'accès à
Berkeley nécessaires lors de l'export.
Pour ce tutoriel vous devez posséder un ordinateur ayant Ubuntu 9.10 server d'installé, et un
accès à Internet.
Remarque: Ce tutoriel se base sur la documentation fournie par Oracle qui est disponible dans
le répertoire doc/ de l'archive à télécharger.
2. Préparations / Pré requis
→Avoir installé Java, pour ce manuel nous utilisons le JDK 1.5.
→ Télécharger la version Berkeley 2.7.7 à partir des serveurs Oracle:
http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
ou
cd $HOME
wget http://download.oracle.com/berkeley-db/db-2.7.7.tar.gz
→ Extraire l'archive:
tar zxvf db-2.7.7.tar.gz
→ Créer un dossier de travail et y copier les fichiers extraits :
mkdir workBerkeley
cp -r db-2.7.7/* workBerkeley
2
3. Installation de Berkeley
→ Préparer le build par défaut:
cd workBerkeley/build_unix
../dist/configure
→ Installer Berkeley DB:
make install
4. Compilation de la librairie libdb.so
→ Création d'un répertoire temporaire:
mkdir tmp
cd tmp
→ Compilation de la librarie:
ar xv ../libdb.a
gcc –shared –o libdb.so *.o
mv libdb.so ..
cd ..
rm –rf tmp
5. Compilation de la librairie libdb_java.so
a. Génération des classes Java
→ Changement de répertoire: direction java:
cd ../java
→ Nous allons devoir modifier le fichier Makefile.unix pour pouvoir générer les classes java
qui nous permettrons de tester le fonctionnement des librairies créées:
chmod 777 Makefile.unix
gedit Makefile.unix &
→ Remplacer la ligne JAVA=javac par le fichier javac présent dans le répertoire d'installation
de votre jdk:
JAVAC=/usr/java/jdk1.5.0_21/bin/javac
→ Remplacer la dernière ligne du fichier par:
3
$(JAVAC) $(JAVACFLAGS) –classpath ../../../../classes –d
$(DBJAVA_CLASSES) *.java –Xlint:unchecked
→ Lancer le make:
make –f Makefile.unix
b. Compilation de la librairie libdb_java.so
→ Changer de répertoire:
cd ../libdb_java
→ installer le compilateur g++:
sudo apt-get install g++
→ rendre le fichier Makefile.unix modifiable:
chmod 777 Makefile.unix
gedit Makefile.unix &
→ Editer le fichier pour y changer:
Le répertoire d'installation de Java: remplacer "JAVAINSDIR=
JAVAINSDIR=
/usr/java1.1" par
/usr/java/jdk1.5.0_21
L'attribut LINK: remplacer "LINK= gcc" par
LINK=
g++
L'attribut CXX: remplacer "CXX=
CXX=
gcc" par
g++
Dans les répertoires de l'attribut INCLUDE remplacer "–I$(JAVAINSDIR)/include/solaris \"
par:
–I$(JAVAINSDIR)/include/linux
L'attribut DBINSDIR remplacer par
DBINSDIR= le chemin complet vers le répertoire de travail.
→ Lancer le Makefile:
make –f Makefile.unix
4
c. Regrouper les librairies générées
→ Création d'un répertoire pour y placer les librairies:
cd ..
mkdir libdbso
cp build_unix/libdb.so libdbso/
cp libdb_java/libdb_java.so libdbso/
6. Vérification des librairies .so
→ Changement de répertoire:
cd java/classes/
→ Exécution d'un programme de test, attention ne pas oublier de préciser le chemin où
trouver les librairies compilées. Pour cela deux options:
Définir la variable de session LD_LIBRARY_PATH et ensuite exécuter le programme:
export LD_LIBRARY_PATH="$HOME/workBerkeley/libdbso"
java com.sleepycat.examples.AccessExample
ou indiquer le chemin directement au programme:
java –Djava.library.path="$HOME/workBerkeley/libdbso"
com.sleepycat.examples.AccessExample
Si tout fonction le terminal devrait afficher "input >" et vous pourrez saisir ce que bon vous
semble. Cela signifie que les libraires fonctionnent.
5
Téléchargement