Debian 6. Biblioteka Boost zainstalowała się, ale się nie zainstalowała?!

0

Witam.

Ściągnąłem bibliotekę Boost dla Linuxa (Debian 6). Rozpakowałem archiwum, jako root odpaliłem bootsrap.sh w terminalu, następnie wg tutoriala odpaliłem w katalogu głównym rozpakowanego Boost'a polecenie ./b2 .

Zaczęły rozpakowywać się paczki, instalacja przebiegła jak należy. Zaczynam pisać program za pomocą tutka. Kompilator nic nie wie nt. pliku nagłówkowego

#include<boost/multiprecison/gmp.hpp>

Wywalił mnóstwo błędów. Nie używam żadnego środowiska (np. Code::Blocks) a jedynie JEdit i skrypt kompilujący w tym samym katalogu co main.cpp.

Przeglądając bootsrap.sh patrzyłem się gdzie biblioteka się zainstaluje. Rzekomo w usr/local. Ani śladu. Za pomocą Synaptic'a odinstalowałem wszystkie paczki Boost;a, następnie ściągnąłem libboost-all-dev wersję 1.42.01. z nadzieją, że nie będzie większych komplikacji. Przeglądałem znowuż usr/local i inne katalogi i po Boost ani śladu.

Wiem, jest masa informacji na necie jak zainstalować, wolę jednak zapytać Szanowną Społeczność, co robię źle? Być może ktoś miał podobne perypetie.

Generalnie zależy mi na bibliotece multiprecision, choć całym Boostem nie pogardzę. Pod Ubuntu 12.10 nie miałem problemów z instalacją, reinstalacja do Ubuntu nie wchodzi w grę.

Cały kod źródłowy:

#include <boost/multiprecision/gmp.hpp>
#include <iostream>

using namespace boost::multiprecision;
using namespace std;

int main(){  
   mpz_int v = 1;

   for (unsigned i=1;  i<100;  ++i)  v*=i;      
  
   cout << v << endl;}

   char c; //pause
   cin >> c;

Część błędów kompilatora (nie wszystkie zmieściły się w terminalu!)

/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::detail’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘get_default_precision’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_init2’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘const struct boost::gmp_rational’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_set_q’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp: In member function ‘boost::gmp_float<0u>& boost::gmp_float<0u>::operator=(const boost::gmp_int&)’:/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::detail’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘get_default_precision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_init2’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘const struct boost::gmp_int’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_set_z’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp: In member function ‘boost::gmp_float<0u>& boost::gmp_float<0u>::operator=(const boost::gmp_rational&)’:/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::detail’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘get_default_precision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_init2’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_float<0u>’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘const struct boost::gmp_rational’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_set_q’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp: In constructor ‘boost::gmp_int(const boost::gmp_rational&)’:/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_int’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpz_init’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_int’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘const struct boost::gmp_rational’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpz_set_q’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp: In member function ‘boost::gmp_int& boost::operator=(const boost::gmp_rational&)’:/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_int’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_int’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpz_init’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘struct boost::gmp_int’ has no member named ‘m_data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘const struct boost::gmp_rational’ has no member named ‘data’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpz_set_q’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp: At global scope:/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘component_type’ is not a template/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number_category’ is not a template/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpz_t’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘type’ in class ‘boost::number_category’ does not name a type/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number_category’ is not a template/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpq_t’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘type’ in class ‘boost::number_category’ does not name a type/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number_category’ is not a template/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘canonical’ is not a member of ‘boost::detail’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘mpf_t’ was not declared in this scope/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘type’ in class ‘boost::number_category’ does not name a type/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected initializer before ‘<’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: wrong number of template arguments (2, should be 1)/usr/include/c++/4.4/limits error: provided for ‘template<class _Tp> struct std::numeric_limits’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: wrong number of template arguments (2, should be 1)/usr/include/c++/4.4/limits error: provided for ‘template<class _Tp> struct std::numeric_limits’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected nested-name-specifierIn file included from main.cpp/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘number’ is not a member of ‘boost::multiprecision’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: wrong number of template arguments (2, should be 1)/usr/include/c++/4.4/limits error: provided for ‘template<class _Tp> struct std::numeric_limits’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected unqualified-id before ‘>’ token/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected constructor, destructor, or type conversion before ‘int’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected constructor, destructor, or type conversion before ‘int’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected constructor, destructor, or type conversion before ‘int’/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::expression_template_option’ has not been declared/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: expected constructor, destructor, or type conversion before ‘bool’

Błąd linkera?

Z góry dziękuję za wszelkie porady i pozdrawiam

pozdro,
cx3

poprawienie znaczników <code class="cpp"> - fp

0

/home/cx3/boost_1_54_0/boost/multiprecision/gmp.hpp error: ‘boost::detail’ has not been declared

Skoro dostałeś błąd z gmp.hpp to nie możesz mówić, że nic nie wie o tym nagłówku.
Poza tym masz jak wół ścieżkę do tego pliku. Komunikaty trzeba czasem przeczytać...

nie wszystkie zmieściły się w terminalu!
To zmień terminal. Potrzebny jest początek.

Błąd linkera?
Nie.

0

Ładnie namieszałeś - komunikaty o błędach (kompilacji) dotyczą boosta 1.54 a Ty twierdzisz, że działasz na wersji: 1.42.01. Pokaż cały log kompilacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1