Hello,
I am using root 3.10-02 with gcc 2.95.3. I want to use the TMultiLayerPerceptron class in my code. If simply add:
#include “TMultiLayerPerceptron.h”
my code compiles and links. When I load the resulting *.so library in root it loads normally.
Next I tried adding the line (my code already declares all variables passed to this constructor):
TMultiLayerPerceptron Mlp(“mass,sig2,sfl3,doca:8:Type”,simu,“Entry$%2”,“Entry$/2”);
TMultiLayerPerceptron *mlp = &Mlp;
to a function. Again I compile and link my code just fine. However now when I try to load the *.so library into root I get:
[noric12] /u/br/markhod/TauCPAnalysis > root -b
-
*
-
W E L C O M E to R O O T *
-
*
- Version 3.10/02 25 December 2003 *
-
*
- You are welcome to visit our Web site *
-
[root.cern.ch](http://root.cern.ch) *
-
*
Compiled for linux with thread support.
CINT/ROOT C/C++ Interpreter version 5.15.115, Dec 9 2003
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
dlopen error: /u/br/markhod/TauCPAnalysis/tmp/libTauCPAnalysis.so: undefined symbol: __21TMultiLayerPerceptronPCcP5TTreeT1T1
Load Error: Failed to load Dynamic link library /u/br/markhod/TauCPAnalysis/tmp/libTauCPAnalysis.so
(int)(-1)
*** Interpreter error recovered ***
root [0]
As a sanity check:
[noric12] /u/br/markhod/TauCPAnalysis > echo $LD_LIBRARY_PATH
/afs/slac.stanford.edu/g/babar/package/root/3.10-02/Linux24RH72_i386_gcc2953//lib
[noric12] /u/br/markhod/TauCPAnalysis > echo $ROOTSYS
/afs/slac.stanford.edu/g/babar/package/root/3.10-02/Linux24RH72_i386_gcc2953/
[noric12] /u/br/markhod/TauCPAnalysis > echo $PATH
/afs/slac.stanford.edu/g/babar/package/root/3.10-02/Linux24RH72_i386_gcc2953//bin:
Other root classes can be used in my code without a problem.
Can anyone give me an idea of the cause of the problem I am having? Or any ideas I can look into to try to diagnose the problem.
I dont understand why it compiles without complaint but cant be run.
Thanks,
Mark