Ошибка компиляции Apache Thrift

Я пытаюсь построить бережливость apache из исходного кода. После выполнения ./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) ИМХО, мы все равно должны закрыть это как дубликат.   -  person JensG    schedule 16.03.2014


Ответы (1)


Вы решили это? В настоящее время я успешно собираю tarball 0.93 на надежной Ubuntu (14.04) на архитектурах x86 и arm.

Я бы предложил попробовать tarball 0.93 и использовать 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