[ROOT] loading several shared libs containing only C code

From: Damir Buskulic (buskulic@lapp.in2p3.fr)
Date: Wed May 02 2001 - 16:43:23 MEST


Hi everybody,

A problem I have is the following :
I'm creating several dictionaries from several sets of headers using
cint, since those headers are C code and this seems to give me the best
results, as in :

cint -w1 -zlibVFFTW -nVEGA_G_FFTW.C -D__MAKECINT__ -DG__MAKECINT \
        -c-1 -A -DG__REGEXP -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT
-D__cplusplus \        -I/home/buskulic/fftw-2.1.3/include \
        /home/buskulic/fftw-2.1.3/include/fftw.h

each of these generated dictionaries are put into a SEPARATE shared
library.

For libraries generated from C only code, there is a problem.
When one loads these shared libs, one sees only the symbols of the first
library. The others are not seen at the command line, though when I load
the library interactively (dynamically), after having launched root,
everything is OK.
We already discussed this issue, and the problem was that, when loaded
statically, a shared lib executes an init function. Only the first
STATICALLY loaded lib does this init.

Well, is there any way of allowing several statically linked libs coming
from C code to execute their init code (which is it, Masa ?). I would
like to keep the separation into several shared libs so I can use these
libs for other purposes, so avoid having only one global dictionary.

Cheers

Damir

-- 
=====================================================================
| Damir Buskulic                  | Universite de Savoie/LAPP       |
|                                 | Chemin de Bellevue, B.P. 110    |
| Tel : +33 (0)450091600          | F-74941 Annecy-le-Vieux Cedex   |
| e-mail: buskulic@lapp.in2p3.fr  | FRANCE                          |
=====================================================================
mailto:buskulic@lapp.in2p3.fr



This archive was generated by hypermail 2b29 : Fri Jun 08 2001 - 11:51:23 MEST