First off, I could not locate Minuit header files
include/lsst/fw/MinimizerFunctionBase.h:14:28: Minuit/FCNBase.h: No such file or directory
Minuit was set-up
setup minuit testing
Edit SConstruct
env = scons.makeEnv("imageproc",
...
["minuit", "Minuit/FCNBase.h"]
This got me close, but
Error: Failed to find minuit in /home/becker/src/Minuit-1_7_9/lib
Because its called liblcg_Minuit. So edit SConstruct again
env.libs = dict([
...
("minuit", Split("liblcg_Minuit")),
and I am on to real bugs!
Almost...
/usr/bin/ld: cannot find -lminuit
I want it to say liblcg_Minuit. My tests/SConscript file says
env.Program(["testMinuit.cc"], LIBS=env.libs["vw"] + ["fw"] + ["minuit"])
and it should say
env.Program(["testMinuit.cc"], LIBS=env.libs["vw"] + ["fw"] + env.libs["minuit"])
Closer. I now get
/usr/bin/ld: cannot find -llcg_Minuit
Hmmm... the g++ line says
-Wl,-rpath -Wl,/home/becker/src/Minuit-1_7_9/lib
but doesn't say
-L/home/becker/src/Minuit-1_7_9/lib
Ah, OK, so apparently env = scons.makeEnv("imageproc", does have some useful functionality beyond testing if stuff exists. I needed to say
["minuit", "Minuit/MnMigrad.h", "liblcg_Minuit"]
where liblcg_Minuit gets put after -L. I could also try to say
["minuit", "Minuit/MnMigrad.h", "liblcg_Minuit", "migrad"]
and then migrad() would get added to the test code spawned by Scons.
