今天安裝libevent ,在編譯的時候遇到以下的錯誤,百度谷歌都搜了,沒有類似的情況,特地請教論壇大神。
[root@cld-test libevent-2.1.8-stable]# make
make all-am
make[1]: Entering directory `/tmp/libevent-2.1.8-stable'
CCLD sample/le-proxy
sample/le-proxy.o: In function `main':
/tmp/libevent-2.1.8-stable/sample/le-proxy.c:273: undefined reference to `TLS_method'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_read'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_shutdown'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_data'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_write'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_ctrl'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_create'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_puts'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_shutdown'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_new'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_init'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_init'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_destroy'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_data'
collect2: error: ld returned 1 exit status
make[1]: *** [sample/le-proxy] Error 1
make[1]: Leaving directory `/tmp/libevent-2.1.8-stable'
make: *** [all] Error 2
uj5u.com熱心網友回復:
一般是因為版本問題,原來碰到過,可以嘗試更換版本uj5u.com熱心網友回復:
更換了2.1 和2.0 都沒用,后來沒辦法了額, 只能通過yum安裝解決。
uj5u.com熱心網友回復:
這一塊相當麻煩,好像那次也解決了很久,各種依賴包。。。解決就OK拉uj5u.com熱心網友回復:
經過測驗2.1.8無論如何都沒法安裝,后來改用2.0.22版本成功安裝,但是目前還沒有找到原因。uj5u.com熱心網友回復:
剛用2.1.8版本我也遇到這個問題了,依賴頭檔案的時候多了一層openssl,去掉就可以了。正確的依賴頭檔案選項是:
CFLAGS="-I/home/smile/openssl-1.0.2e/libs-build/include/"
注:2.1.8的libevnt需要openssl的動態庫才能編譯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/101867.html
標籤:應用程序開發區
