Hi,
I need to use some quantile functions from MathMore (in particular tdistribution_quantile_c) and so I have already installed last version of ROOT (5.26) also building MathMore.
But when I try to use the function tdistribution_quantile_c in my code, the compilation is ok but the procedure of linking fails:
undefined reference to `ROOT::Math::tdistribution_quantile_c(double, double)’
If this can help the libraries that I use for the linking are the usual ones (root-config --glibs). I have also tried adding (gsl-config --libs) but nothing changed.
What are the missing ingredient to use this kind of functions? Some particular header? Where can I find some documentation?
root-config --glibs doesn’t include MathMore (just type “root-config --glibs” in the terminal to see the list), so you have to add “-lMathMore” to the list (root-config --glibs -lMathMore)
Hi,
the are some inconsistencies in your build of MathMore. Apparently you are using headers from a new version of GSL, but linking with an older library.
I would suggest to re-configure ROOT with correct value of gsl-libdir and gsl-incdir and rebuild MathMore
but again, when I try to build mi executable I get:
/usr/local/analyze/ROOT/lib/libMathMore.so: undefined reference to `gsl_multimin_fdfminimizer_vector_bfgs2’
May be due to the option --enable-gsl-shared? But I have also tried without this option enabled (but with --enable-mathmore) and in that case the libMathMore is not build at all!
if you are using a shared GSL library, you should be then add th library location to your LD_LIBRARY_PATH. I guess you are loading an old gsl version from /usr/lib or similar.
Without enable-shared it should work, but you might need to have a build of GSL with -fPIC. To do that you need to re-configure and build GSL with --with-pic
Dear All,
I get the same type of Pb as can be seen in the attached hardcopy
the file ROOTConfif-targets.cmake can be found under directory /usr/share/root/cmake and refers to MathMore
effectively No libmathmore.so is found under /user/lib64/root but its can be found in the directory where root6 was installed.
• So where is the lib path defined for cmake?
• Can it be redefined?