在openhpi安装过程中如何解决openssl问题?

时间:2020-07-02 22:39:19

标签: linux ssl makefile openssl

我尝试按照其主站点上的说明安装OpenHPI
http://openhpi.org/OpenHPI/Manual/Installation make返回了错误2:

-I/usr/lib/x86_64-linux-gnu/glib-2.0/include         -Wall         -Wpointer-arith
-Wformat=2         -Wformat-security         -Wformat-nonliteral         -Wcast-qual
-Wcast-align         -Wshadow         -Wwrite-strings         -Wredundant-decls
-Wno-strict-aliasing    -fno-strict-aliasing         -Wno-unused-value  -D_GNU_SOURCE
-D_REENTRANT -fexceptions -export-dynamic   -o openhpid server.o openhpid-posix.o
libopenhpidaemon.la ../marshal/libopenhpimarshal.la ../transport/libopenhpitransport.la
-lstdc++ -pthread -lgthread-2.0 -lglib-2.0 -lm -lpthread
libtool: link: g++ -g -O2 -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-Wall -Wpointer-arith -Wformat=2 -Wformat-security -Wformat-nonliteral
-Wcast-qual -Wcast-align -Wshadow -Wwrite-strings -Wredundant-decls -Wno-strict-aliasing
-fno-strict-aliasing -Wno-unused-value -D_GNU_SOURCE -D_REENTRANT -fexceptions
-o .libs/openhpid server.o openhpid-posix.o -pthread -Wl,--export-dynamic  ./.libs/libopenhpidaemon.a
/usr/local/src/openhpi-3.8.0/utils/.libs/libopenhpiutils.so -lgcrypt -lgmodule-2.0
/usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so -lcrypto ../marshal/.libs/libopenhpimarshal.so
../transport/.libs/libopenhpitransport.so -lstdc++ -lgthread-2.0 -lglib-2.0 -lm -lpthread -pthread
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_CTX_free'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_get_error'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_get_fd'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_read'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_shutdown'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `OPENSSL_init_ssl'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_CTX_new'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `BIO_f_ssl'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `TLS_client_method'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_CTX_set_default_verify_paths'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_CTX_set_options'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_connect'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_free'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_write'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_set_fd'
/usr/bin/ld: /usr/local/src/openhpi-3.8.0/ssl/.libs/libopenhpi_ssl.so: undefined reference to `SSL_new'

我尝试使用重新安装openssl apt-get install --reinstall openssl 并手动进行,但这没用。

然后我将'-lssl'添加到libopenhpi_ssl.so

# Linker flags that can not go in dependency_libs.
inherited_linker_flags='-pthread'

# Libraries that this one depends upon.
dependency_libs='-lssl -lcrypto -lgthread-2.0 -lglib-2.0 -lm -lpthread'

此错误消失了,但随后又发生了。无论如何,我认为更改配置文件不是一个好的解决方案。

1 个答案:

答案 0 :(得分:0)

我手动安装了glib2,gcrypto及其所有依赖项。 那解决了问题。