forum.alglib.net http://forum.alglib.net/ |
|
Obscure Linker-Error http://forum.alglib.net/viewtopic.php?f=2&t=485 |
Page 1 of 1 |
Author: | Max [ Wed Nov 16, 2011 12:49 pm ] |
Post subject: | Obscure Linker-Error |
Hi, I am encountering some difficulties when using the mpfr version of ALGLIB. There is an obscure Linker error whenever I try to use a function of the library. It says: Code: g++ -o "svdTest" ./source/amp.o ./source/ap.o ./source/main.o -lgmp -lmpfr /usr/lib/gcc/i586-suse-linux/4.5/../../../../i586-suse-linux/bin/ld: __gmpfr_emin: TLS definition in /usr/lib/gcc/i586-suse-linux/4.5/../../../libmpfr.so section .tdata mismatches non-TLS reference in ./source/main.o /usr/lib/gcc/i586-suse-linux/4.5/../../../libmpfr.so: could not read symbols: Bad value collect2: ld returned 1 exit status The code works fine while I am only using the ampf objects and matrices thereof. The error occurs as soon as I am calling an ALG routine (I tried so far: rmatrixsvd and rmatrixinverse). I already tried to ask the Administrator of my System as I supposed this to be a System specific error, but he could not help either. Below I will post an example code which produces this error: Code: #include <svd.h> using namespace ap; using namespace amp; const int prec = 256; int main(int argc, char **argv) { const int prec = 256; template_2d_array< ampf<prec> > A; //initializing A A.setbounds(0, 3, 0, 3); int i, j; for (i = 0; i < 4; ++i) for (j = 0; j < 4; ++j) { A(i, j) = i + j*4; } template_2d_array< ampf<prec> > U, V; template_1d_array< ampf<prec> > s; U.setbounds(0, 3, 0, 3); V.setbounds(0, 3, 0, 3); s.setbounds(0, 3); template_2d_array< ampf<prec> > &rU = U, &rV = V; template_1d_array< ampf<prec> > &rs = s; svd::rmatrixsvd(A, 4, 4, 2, 2, 2, rs, rU, rV); return 0; } Without the line svd::rmatrixsvd(A, 4, 4, 2, 2, 2, rs, rU, rV); it compiles (and links) without Problems. Thank you for your time |
Page 1 of 1 | All times are UTC |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |