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