J'essaie de compiler un solveur de système linéaire en utilisant PARDISO. Le cas de test (pardiso_sym.c) également téléchargé à partir du même site Web ci-dessus.Compilation du cas de test du solveur linéaire PARDISO avec GCC
je les fichiers suivants dans le répertoire:
[[email protected] my-pardiso]$ ls -lh
total 1.3M
-rw-r--r-- 1 gv hgc0746 1.3M Aug 7 11:59 libpardiso_GNU_IA64.so
-rw-r--r-- 1 gv hgc0746 7.2K Nov 13 2007 pardiso_sym.c
Ensuite, j'essaie de le compiler avec la commande suivante:
[[email protected] my-pardiso]$ gcc pardiso_sym.c -o pardiso_sym -L . -llibpardiso_GNU_IA64.so -L/home/gv/.boost/include/boost-1_38 -llapack
Mais il donne cette erreur:
/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/../../../../x86_64-unknown-linux-gnu/bin/ld:
cannot find -llibpardiso_GNU_IA64.so
collect2: ld returned 1 exit status
Quel est le problème avec ma méthode de compilation?
Voici l'info supplémentaire de mon système:
[[email protected] my-pardiso]$ uname -a
Linux gw05 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:32:05 EDT 2008
x86_64 x86_64 x86_64 GNU/Linux
[[email protected] my-pardiso]$ gcc --version
gcc (GCC) 4.3.2
Mise à jour:
La bibliothèque est reconnue en utilisant la suggestion de Dave Gamble. Mais maintenant, il donne autre erreur :
$ gcc pardiso_sym.c -o pardiso_sym -L . -lpardiso_GNU_IA64 -L/home/gv/.boost/include/boost-1_38 -llapack
./libpardiso_GNU_IA64.so: undefined reference to `s_stop'
./libpardiso_GNU_IA64.so: undefined reference to `s_wsfe'
./libpardiso_GNU_IA64.so: undefined reference to `e_wsfe'
./libpardiso_GNU_IA64.so: undefined reference to `z_abs'
./libpardiso_GNU_IA64.so: undefined reference to `s_cat'
./libpardiso_GNU_IA64.so: undefined reference to `s_copy'
./libpardiso_GNU_IA64.so: undefined reference to `do_fio'
@DG: Merci. Mais il donne toujours la même erreur. – neversaint
@DG: Merci encore. Maintenant, il reconnaît la lib. Une idée quelle est la cause possible de la nouvelle erreur (voir mise à jour)? – neversaint