fr . comp . lang . lisp


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: undefined symbol in foreign library sur Fr Comp Lang Lisp



Groupes les plus fournis
misc engueulades misc finance misc engeulades comp mail serveurs comp os ms-windows xp rec arts musique metal tv tnt usenet-fr emile durkheim lettres langues-anciennes grec rec cuisine bonnes-adresses rec tv series petites-annonces rencontres comp lang perl comp sys mac programmation sci astronautique sci psychologie comp graphisme pao rec sport arts-martiaux comp usenet lecteurs-de-news comp materiel optimisation


Derniers posts youthenet
Re: Démission pour création d'entreprise commerce ou service Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Being choosy keeps me unemployed: Harsh Chhaya
Thaindian.com - Il y a 7 heures
We tried different get-ups, a little effeminate, lisp, no lisp, wig, no wig, loud flashy clothes, not so loud flashy clothes, glasses, no glasses. ...
source

actualité

Ioke''''''''Lisp'Ruby
''' - Il y a 2 heures
'''''''''''''''''''''''''''''''''''Lisp'Ruby''''''''''''''''''''''''''' ...
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.lang.lisp |

fr . comp . lang . lisp

Re: undefined symbol in foreign library



accueil . fr . comp . lang . lisp




Re: undefined symbol in foreign library

   
Sujet: Re: undefined symbol in foreign library
De: pjb (l' arobase) informatimago.com (Pascal Bourguignon)
Groupes: fr.comp.lang.lisp
Organisation: Informatimago
Date: 23. Apr 2008, 00:28:45
"card.lemoine" <st_georges@tele.fr> writes:

Pascal Bourguignon a écrit :

Est-on sur que la libgsl est déjà chargée dans clisp?

Pardon je crois que j'ai compris votre question de travers.
Qu'entendez-vous par "déjà chargée" ?


Les dépendances d'une bibliothèque ne sont pas chargées
automatiquement.  Il faut les charger explicitement.


Note, j'utilise un chemin absolu dans mon exemple, mais on peut aussi
passer par LD_LIBRARY_PATH:

     (setf (ext:getenv "LD_LIBRARY_PATH")
           (format nil "/where/my/libs/are:~A" (ext:getenv "LD_LIBRARY_PATH")))
     (FFI:DEF-CALL-OUT base-fun (:NAME "base_fun")
          (:ARGUMENTS (SIZE FFI:INT :IN))
          (:RETURN-TYPE nil)
          (:LANGUAGE :STDC)
          (:library "libbase.so"))



C/USER[16]> (cat "test.lisp")

(format t ";; --  Loading only libmid.so~%")
(handler-case (FFI:DEF-CALL-OUT mid-fun (:NAME "mid_fun")
                (:ARGUMENTS (SIZE FFI:INT :IN))
                (:RETURN-TYPE nil)
                (:LANGUAGE :STDC)
                (:library "/home/pjb/src/lisp/clisp-notes/two-libs/libmid.so"))
  (error (err) (princ err)))

(format t ";; --  Loading libbase.so first.~%")
(FFI:DEF-CALL-OUT base-fun (:NAME "base_fun")
  (:ARGUMENTS (SIZE FFI:INT :IN))
  (:RETURN-TYPE nil)
  (:LANGUAGE :STDC)
  (:library "/home/pjb/src/lisp/clisp-notes/two-libs/libbase.so"))

(format t ";; --  Then loading libmid.so first.~%")
(FFI:DEF-CALL-OUT mid-fun (:NAME "mid_fun")
  (:ARGUMENTS (SIZE FFI:INT :IN))
  (:RETURN-TYPE nil)
  (:LANGUAGE :STDC)
  (:library "/home/pjb/src/lisp/clisp-notes/two-libs/libmid.so"))

(format t ";; --  Now, calling external functions:~%")
(base-fun 42)
(mid-fun 17)

(format t ";; --  Unloading libraries.~%")
(FFI:CLOSE-FOREIGN-LIBRARY  "/home/pjb/src/lisp/clisp-notes/two-libs/libmid.so")
(FFI:CLOSE-FOREIGN-LIBRARY  "/home/pjb/src/lisp/clisp-notes/two-libs/libbase.so")


C/USER[17]> (load"test.lisp")
;; Loading file test.lisp ...
;; --  Loading only libmid.so
FFI::FIND-FOREIGN-FUNCTION: Cannot open library "/home/pjb/src/lisp/clisp-notes/two-libs/libmid.so": "/home/pjb/src/lisp/clisp-notes/two-libs/libmid.so: undefined symbol: base_fun"
;; --  Loading libbase.so first.
;; --  Then loading libmid.so first.
;; --  Now, calling external functions:
base_fun(42) called.
mid_fun(17) entry.
base_fun(17) called.
mid_fun(17) exit.
;; --  Unloading libraries.
;; Loaded file test.lisp
T
C/USER[18]> (cat "Makefile")
all: libbase.so libmid.so test-c
file libbase.so libmid.so
nm libbase.so
nm libmid.so


test-c:test-c.o
gcc -fPIC -o test-c test-c.o libbase.so libmid.so

test-c.o:test-c.c
gcc -fPIC -shared  -o test-c.o test-c.c

base.o:base.c
gcc -fPIC -shared  -o base.o base.c

mid.o:mid.c
gcc -fPIC -shared  -o mid.o mid.c

libbase.a:base.o
ar cr libbase.a base.o
ranlib libbase.a

libmid.a:mid.o
ar cr libmid.a mid.o
ranlib libmid.a

libbase.so:base.o
gcc -fPIC -shared -Wl,-soname,libbase.so -o libbase.so base.o

libmid.so:mid.o
gcc -fPIC -shared -Wl,-soname,libmid.so -o libmid.so mid.o


clean:
rm -f *.a *.so test-c

C/USER[19]> (cat "base.c")
#include <stdio.h>

extern void base_fun(int i){
    printf("base_fun(%d) called.\n",i);
}

C/USER[20]> (cat "mid.c")
#include <stdio.h>

extern void base_fun(int i);

extern void mid_fun(int i){
    printf("mid_fun(%d) entry.\n",i);
    base_fun(i);
    printf("mid_fun(%d) exit.\n",i);
}


C/USER[21]> (cat "test-c.c")

extern void base_fun(int i);
extern void mid_fun(int i);

int main(void){
    base_fun(42);
    mid_fun(17);
    return(0);
}

C/USER[22]>


--
__Pascal Bourguignon__                     http://www.informatimago.com/

NEW GRAND UNIFIED THEORY DISCLAIMER: The manufacturer may
technically be entitled to claim that this product is
ten-dimensional. However, the consumer is reminded that this
confers no legal rights above and beyond those applicable to
three-dimensional objects, since the seven new dimensions are
"rolled up" into such a small "area" that they cannot be
detected.


Date Sujet  Auteur
21.04. * undefined symbol in foreign librarycard.lemoine@al
21.04. +* Re: undefined symbol in foreign libraryPascal Bourguig
22.04. |+- Re: undefined symbol in foreign librarycard.lemoine@al
22.04. |`* Re: undefined symbol in foreign librarycard.lemoine
22.04. | +- Re: undefined symbol in foreign librarycard.lemoine
23.04. | `* Re: undefined symbol in foreign libraryPascal Bourguig
24.04. |  `* Re: undefined symbol in foreign librarycard.lemoine
24.04. |   `* Re: undefined symbol in foreign librarPascal Bourguig
24.04. |    `* Re: undefined symbol in foreign librcard.lemoine
24.04. |     `- Re: undefined symbol in foreign liPascal Bourguig
26.04. `* Re: undefined symbol in foreign libraryPascal Bourguig
28.04.  `- Re: undefined symbol in foreign librarycard.lemoine
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs sci philo rec radio soc religion comp os linux debats misc engeulades misc engueulades misc finance usenet prison politique france

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs sci philo usenet forums evolution soc religion misc droit travail soc economie comp os linux debats rec bateaux rec arts musique classique rec cuisine

actualité

Being choosy keeps me unemployed: Harsh Chhaya
Thaindian.com - Il y a 7 heures
We tried different get-ups, a little effeminate, lisp, no lisp, wig, no wig, loud flashy clothes, not so loud flashy clothes, glasses, no glasses. ...
source

actualité

The Problem With Bill, by Judy Bachrach
Women on the Web - Il y a 15 heures
Sam was five at the time, with a noticeable lisp. He stared raptly as the nightly news moved in for a close-up of Bill. After a few minutes, he uttered his ...
source


 




Copyright 2008 ©  - YouTheNet.com

| Scheck Geschenke |