Hi Thien, Symbols need to be exported. Here is [attached] an exemple of the actual guile-pg 0.16-4 postgres.scm file from the latest debian package. The exports are done after the load-extension, but I am convinced it could be done in the define-module #:export clause, could it not? David Le Tue, 27 May 2008 15:04:27 +0200, Thien-Thi Nguyen a écrit : > ⎛⎞ Greg Troxel > ⎝⎠ Tue, 27 May 2008 08:46:04 -0400 > > > (define-module (database postgres)) > > (load-extension "/ABS/PATH/TO/libpostgres.so.0.0.0" > > "scm_init_database_postgres_module") > > (I presume you are either consing up the path or substituting > it with autoconf.) > > Yes, either way or even both (whatever will work). > > My understanding is slightly fuzzy, but I think that defines > the guile-pg symbols in the (database postgres) module, but > will not necessarily export them. > > OK. > > The 1.4-style module loading seems to do the equivalent of > define-public. > > Yes. > > I did make guile-pg work with a scheme load file as you write > above once, and I also had a number of export statements. > > So in addition to the above, there needs to be `define-public' > for each proc? Can that be phrased as an `#:export' clause in > the `define-module' form (prior to the `load-extension' call)? > > thi > >