Skip to main content

Thread: Error linking to libgmp with g++4.6?


hello,

i'm writing small application uses libgmp arbitrary precision integer arithmetics. i'm using standard ubuntu g++-4.6 packages because i'm using new c++11 features. reason lots of undefined symbol errors during linking step:

$ g++-4.6 -lgmpxx -lgmp ...
....o: in function `__gmpz_neg':
/usr/include/gmp-i386.h:1783: undefined reference `__gmpz_set'
....o: in function `__gmp_binary_plus::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct const*)':
/usr/include/gmpxx.h:72: undefined reference `__gmpz_add'
....o: in function `__gmp_binary_multiplies::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct const*)':
/usr/include/gmpxx.h:320: undefined reference `__gmpz_mul'
...

surprised find out links fine g++-4.4! @ moment i'm compiling g++-4.6 , linking g++-4.4. works, isn't satisfactory.

libraries located in /usr/lib , missing symbols there:

$ locate libgmp
/usr/lib/libgmp.a
/usr/lib/libgmp.la
/usr/lib/libgmp.so
/usr/lib/libgmp.so.10
/usr/lib/libgmp.so.10.0.1
/usr/lib/libgmp.so.3
/usr/lib/libgmp.so.3.5.2
/usr/lib/libgmpxx.a
/usr/lib/libgmpxx.la
/usr/lib/libgmpxx.so
/usr/lib/libgmpxx.so.4
/usr/lib/libgmpxx.so.4.2.1

$ objdump -t /usr/lib/libgmp.so|grep __gmpz_set
...
0001f3a0 g df .text 00000096 base __gmpz_set
...

this wrong:
code:
g++-4.6 -lgmpxx -lgmp ...
it should be
code:
g++-4.6 ... -lgmpxx -lgmp


Forum The Ubuntu Forum Community Ubuntu Specialised Support Development & Programming Programming Talk [SOLVED] Error linking to libgmp with g++4.6?


Ubuntu

Comments

Popular posts from this blog

How to set the order of FAQs instead of alphabetical

Thread: Get UK Keyboard working

how do I change the e-mail address for my merchant account