Грешка при компилиране на Apache Thrift

Опитвам се да изградя apache thrift от източника. След изпълнение на ./configure (което не дава никакви грешки). Въпреки това, когато изпълня make, получавам следната грешка:

/bin/bash ../../../libtool  --tag=CXX   --mode=link g++ -Wall -g -O2 -L/usr/lib  -o Benchmark Benchmark.o libtestgencpp.la -lssl -lcrypto -lrt -lpthread 
libtool: link: cannot find the library `RPC/thrift-0.9.1/lib/cpp/libthrift.la' or unhandled argument `RPC/thrift-0.9.1/lib/cpp/libthrift.la'
make[4]: *** [Benchmark] Error 1
make[4]: Leaving directory `/home/user/Documents/thrift-0.9.1/lib/cpp/test'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/user/Documents/thrift-0.9.1/lib/cpp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/user/Documents/thrift-0.9.1/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/Documents/thrift-0.9.1'
make: *** [all] Error 2

Някой има ли идея защо възниква тази грешка и как да я поправя?


person TheRookierLearner    schedule 15.03.2014    source източник
comment
В каква среда си?   -  person JensG    schedule 15.03.2014
comment
Но ти направи ./configure && make && sudo make install либите, нали? thrift.apache.org/tutorial   -  person JensG    schedule 15.03.2014
comment
Мда. Аз направих това. Имам проблем по време на make.   -  person TheRookierLearner    schedule 15.03.2014
comment
О, съжалявам. Тези, които могат да четат, са благословени ;-) Всички зависимости налице ли са? thrift.apache.org/docs/install/ubuntu   -  person JensG    schedule 15.03.2014
comment
Не успях да изпълня sudo apt-get -t lenny-backports install automake libboost-test-dev, но това е за Debian Lenny, така че предполагам, че това не е проблем.   -  person TheRookierLearner    schedule 15.03.2014
comment
Проверено stackoverflow.com/questions/18643642/?   -  person JensG    schedule 15.03.2014
comment
sudo updatedb и locate libthrift.la, за да видите дали файлът е поставен в грешната директория? (Можете също да направите това с find / -name libthrift.la 2>/dev/null, ако нямате root достъп.   -  person boatcoder    schedule 15.03.2014
comment
Мда. Премахнаха поддръжката на cpp, но трябва да работя с cpp. Също така правя make на източника, изтеглен от GitHub   -  person TheRookierLearner    schedule 15.03.2014
comment
@Mark0978 - Не мога да locate libthrift.la след ./configure   -  person TheRookierLearner    schedule 15.03.2014
comment
Тогава със сигурност проверете коментара от @JensG   -  person boatcoder    schedule 15.03.2014
comment
Мда. cd thrift-0.9.1/test/cpp/.libs for i in ../*.o; do echo $i; ln -s $i .; done Това помогна (но първо трябваше да изтрия предишните си файлове, бях опитал това вчера след ./configure и make, но не се получи. Така че трябваше да изтрия всички стари файлове и да ги извлека отново и след това да направя ./configure && sudo make && sudo make install). Ако можете просто да го напишете като отговор, бих го приел (за да не остане въпросът в отворената опашка).   -  person TheRookierLearner    schedule 15.03.2014
comment
Можех да направя това, но (1) не направих много и (2) IMHO трябва да затворим това като дубликат така или иначе.   -  person JensG    schedule 16.03.2014


Отговори (1)


Разрешихте ли това? В момента успешно изграждам tarball от 0.93 на Ubuntu trusty (14.04) на x86 и arm архитектури.

Бих предложил да опитате 0.93 tarball и да използвате cmake вместо ./configure (тъй като това работи по-добре за мен). Вашият пробег може да варира, разбира се.

person nzc    schedule 26.10.2015
comment
Това вероятно трябва да е коментар, а не отговор? - person Steve Bennett; 26.10.2015
comment
Нямам достатъчно репутация, за да коментирам, но мога да отговоря. Това наистина няма смисъл за мен, но ето ни. - person nzc; 16.11.2015
comment
О да. Чувствам болката ти. Поведението на Stack Overflow за хора с ниска репутация е толкова разочароващо. - person Steve Bennett; 17.11.2015