have you tried using lela-config as Bradford recommended?
On Monday 22 Apr 2013, Siddharth Bhatia wrote:
> Thanks a lot for the help you're providing. After installing m4ri and other
> libraries, I saw some gmp errors. I installed all packages related to gmp
> even though I had installed gmp properly earlier.
> Still during compilation I'm getting the following errors. Any suggestions
> as to how to overcome this problem?
>
>
> siddharth@siddharth:~$ g++ -L/usr/local/include/ -L/usr/local/lib -lstdc++
> -lgmp -lm4ri -llela -lgmpxx lela1.cpp
>
> /tmp/ccdIvocf.o: In function `__gmp_unary_minus::eval(__mpz_struct*,
> __mpz_struct const*)':
> lela1.cpp:(.text._ZN17__gmp_unary_minus4evalEP12__mpz_structPKS0_[__gmp_una
> ry_minus::eval(__mpz_struct*, __mpz_struct const*)]+0x1f): undefined
> reference to `__gmpz_neg'
> /tmp/ccdIvocf.o: In function `__gmp_binary_plus::eval(__mpz_struct*,
> __mpz_struct const*, __mpz_struct const*)':
> lela1.cpp:(.text._ZN17__gmp_binary_plus4evalEP12__mpz_structPKS0_S3_[__gmp_
> binary_plus::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct
> const*)]+0x27): undefined reference to `__gmpz_add'
> /tmp/ccdIvocf.o: In function `__gmp_binary_minus::eval(__mpz_struct*,
> __mpz_struct const*, __mpz_struct const*)':
> lela1.cpp:(.text._ZN18__gmp_binary_minus4evalEP12__mpz_structPKS0_S3_[__gmp
> _binary_minus::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct
> const*)]+0x27): undefined reference to `__gmpz_sub'
> /tmp/ccdIvocf.o: In function `__gmp_binary_multiplies::eval(__mpz_struct*,
> __mpz_struct const*, __mpz_struct const*)':
> lela1.cpp:(.text._ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_S3_[
> __gmp_binary_multiplies::eval(__mpz_struct*, __mpz_struct const*,
> __mpz_struct const*)]+0x27): undefined reference to `__gmpz_mul'
> /tmp/ccdIvocf.o: In function `__gmp_binary_divides::eval(__mpz_struct*,
> __mpz_struct const*, __mpz_struct const*)':
> lela1.cpp:(.text._ZN20__gmp_binary_divides4evalEP12__mpz_structPKS0_S3_[__g
> mp_binary_divides::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct
> const*)]+0x27): undefined reference to `__gmpz_tdiv_q'
> /tmp/ccdIvocf.o: In function `__gmp_binary_modulus::eval(__mpz_struct*,
> __mpz_struct const*, __mpz_struct const*)':
> lela1.cpp:(.text._ZN20__gmp_binary_modulus4evalEP12__mpz_structPKS0_S3_[__g
> mp_binary_modulus::eval(__mpz_struct*, __mpz_struct const*, __mpz_struct
> const*)]+0x27): undefined reference to `__gmpz_tdiv_r'
> /tmp/ccdIvocf.o: In function `__gmp_binary_equal::eval(__mpz_struct const*,
> __mpz_struct const*)':
> lela1.cpp:(.text._ZN18__gmp_binary_equal4evalEPK12__mpz_structS2_[__gmp_bin
> ary_equal::eval(__mpz_struct const*, __mpz_struct const*)]+0x1f): undefined
> reference to `__gmpz_cmp' /tmp/ccdIvocf.o: In function
> `__gmp_binary_equal::eval(__mpz_struct const*, long)':
> lela1.cpp:(.text._ZN18__gmp_binary_equal4evalEPK12__mpz_structl[__gmp_binar
> y_equal::eval(__mpz_struct const*, long)]+0x1f): undefined reference to
> `__gmpz_cmp_si'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::__gmp_expr()':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2Ev[_ZN10__gmp_exprI
> A1_12__mpz_structS1_EC5Ev]+0x14): undefined reference to `__gmpz_init'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::__gmp_expr(int)':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2Ei[_ZN10__gmp_exprI
> A1_12__mpz_structS1_EC5Ei]+0x20): undefined reference to
> `__gmpz_init_set_si'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::~__gmp_expr()':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprI
> A1_12__mpz_structS1_ED5Ev]+0x14): undefined reference to `__gmpz_clear'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(__gmp_expr<__mpz_struct [1], __mpz_struct [1]> const&)':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSERKS2_[__gmp_expr<_
> _mpz_struct [1], __mpz_struct [1]>::operator=(__gmp_expr<__mpz_struct [1],
> __mpz_struct [1]> const&)]+0x1f): undefined reference to `__gmpz_set'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::operator=(int)':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEi[__gmp_expr<__mpz
> _struct [1], __mpz_struct [1]>::operator=(int)]+0x20): undefined reference
> to `__gmpz_set_si'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::get_d() const':
> lela1.cpp:(.text._ZNK10__gmp_exprIA1_12__mpz_structS1_E5get_dEv[__gmp_expr<
> __mpz_struct [1], __mpz_struct [1]>::get_d() const]+0x14): undefined
> reference to `__gmpz_get_d'
> /tmp/ccdIvocf.o: In function `std::basic_ostream<char,
> std::char_traits<char> >& operator<< <__mpz_struct
> [1]>(std::basic_ostream<char, std::char_traits<char> >&,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]> const&)':
> lela1.cpp:(.text._ZlsIA1_12__mpz_structERSoS2_RK10__gmp_exprIT_S4_E[std::ba
> sic_ostream<char, std::char_traits<char> >& operator<< <__mpz_struct
> [1]>(std::basic_ostream<char, std::char_traits<char> >&,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]> const&)]+0x2a): undefined
> reference to `operator<<(std::basic_ostream<char, std::char_traits<char>
>
> >&, __mpz_struct const*)'
>
> /tmp/ccdIvocf.o: In function `std::basic_istream<char,
> std::char_traits<char> >& operator>><__mpz_struct
> [1]>(std::basic_istream<char, std::char_traits<char> >&,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]>&)':
> lela1.cpp:(.text._ZrsIA1_12__mpz_structERSiS2_R10__gmp_exprIT_S4_E[std::bas
> ic_istream<char, std::char_traits<char> >& operator>><__mpz_struct
> [1]>(std::basic_istream<char, std::char_traits<char> >&,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]>&)]+0x2a): undefined
> reference to `operator>>(std::basic_istream<char, std::char_traits<char>
>
> >&, __mpz_struct*)'
>
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::__gmp_expr<__mpz_struct [1],
> __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_modulus>
>
> >(__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct
>
> [1], __mpz_struct [1]>, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>,
> __gmp_binary_modulus> > const&)':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2IS1_17__gmp_binary_
>
exprIS2_S2_20__gmp_binary_modulusEEERKS_IT_T0_E[_ZN10__gmp_exprIA1_12__mpz_
> structS1_EC5IS1_17__gmp_binary_exprIS2_S2_20__gmp_binary_modulusEEERKS_IT_T
> 0_E]+0x18): undefined reference to `__gmpz_init'
> /tmp/ccdIvocf.o: In function `__gmp_expr<__mpz_struct [1], __mpz_struct
> [1]>::__gmp_expr<__mpz_struct [1],
> __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>,
> __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies>
>
> >(__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct
>
> [1], __mpz_struct [1]>, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>,
> __gmp_binary_multiplies> > const&)':
> lela1.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2IS1_17__gmp_binary_
> exprIS2_S2_23__gmp_binary_multipliesEEERKS_IT_T0_E[_ZN10__gmp_exprIA1_12__m
> pz_structS1_EC5IS1_17__gmp_binary_exprIS2_S2_23__gmp_binary_multipliesEEERK
> S_IT_T0_E]+0x18): undefined reference to `__gmpz_init'
> collect2: ld returned 1 exit status
>
>
> Regards
> Siddharth Bhatia
> BITS Pilani