Estoy intentando instalar un software, que usa cmake para instalarse, cuando doy en commandlin cmake ...
me da el siguiente error en este archivo, CMakeLists.txt -------- línea ---> find_package ( SE REQUIERE OpenSSL): -
cmake ..
-- Could NOT find Git (missing: GIT_EXECUTABLE)
ZLib include dirs: /usr/include
ZLib libraries: /usr/lib/arm-linux-gnueabihf/libz.so
Compiling with SSL support
CMake Error at /usr/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake-2.8/Modules/FindOpenSSL.cmake:313 (find_package_handle_standard_args)
CMakeLists.txt:436 (find_package)
Aquí está la parte del archivo CMakeLists.txt, donde aparece el error: ------
#
# OpenSSL
#
if (WITH_SSL)
message("Compiling with SSL support")
if (USE_CYASSL)
# Use CyaSSL as OpenSSL replacement.
# TODO: Add a find_package command for this also.
message("CyaSSL include dir: ${CYASSL_INCLUDE_DIRS}")
message("CyaSSL libraries: ${CYASSL_LIB}")
# Additional to the root directory we need to include
# the cyassl/ subdirectory which contains the OpenSSL
# compatability layer headers.
foreach(inc ${CYASSL_INCLUDE_DIRS})
include_directories(${inc} ${inc}/cyassl)
endforeach()
list(APPEND LIB_LIST ${CYASSL_LIB})
else()
# TODO: Add support for STATIC also.
find_package(OpenSSL REQUIRED)
message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
message("OpenSSL libraries: ${OPENSSL_LIBRARIES}")
include_directories(${OPENSSL_INCLUDE_DIR})
list(APPEND LIB_LIST ${OPENSSL_LIBRARIES})
endif()
endif(WITH_SSL)
http://www.opensource.apple.com/source/OpenSSL/OpenSSL-7.1/openssl/INSTALL?txt
Ahora he instalado Openssl, aquí: ----
ssl header is here -- > /usr/local/ssl/include/openssl/
ssl library is here -- > /usr/local/ssl/lib/libssl.a
/usr/local/ssl/lib/libcrypto.a
openssl is here -- > /usr/local/ssl/bin
He configurado mi .profile como: ----
export LD_LIBRARY_PATH=/usr/local/ssl/include/openssl:/usr/lib:/usr/local/lib:/usr/lib/pkgconfig:/usr/local/include/wx-2.8/wx:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
export OPENSSL_ROOT_DIR=/usr/local/ssl
export OPENSSL_LIBRARIES=/usr/local/ssl/lib/
PATH = /usr/local/ssl/bin:$PATH
¿Cómo solucionar este error?
editar: -
Obteniendo este error
/usr/local/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x10): undefined reference to `dlopen'
dso_dlfcn.c:(.text+0x24): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x30): undefined reference to `dlclose'

openssl-develen Centos 7, por lo que lo haríasudo yum install openssl-develSi está usando Ubuntu, ejecute
sudo apt install libssl-dev.fuente
lo arregló en macOS usando
fuente
OPENSSL_LIBRARIESes una variable de salida, no una entrada. Ver github.com/Kitware/CMake/blob/…Instale openssl desde el siguiente enlace:
https://code.google.com/p/openssl-for-windows/downloads/list y
luego configure las siguientes variables:
fuente
-DBUILD_TESTING=OFF -DCMAKE_USE_OPENSSL=ONMismo problema, y lo arreglé en mi centos 6.5 usando el siguiente comando.
fuente
sudo apt install libssl-devfunciona en ubuntu 18.04.fuente
Si puede usar pkg-config :
pkg_search_module()puede encontrar OpenSSL por usted.fuente
tiene el archivo FindOpenSSL.cmake en el módulo cmake (ruta usr / shared.cmake-3.5 / modules) # Buscar OpenSSL
fuente
Nota para los usuarios de Fedora 27: tuve que instalar el
openssl-develpaquete para ejecutarcmakecorrectamente.sudo dnf install openssl-develfuente
Solo por diversión, publicaré una respuesta de trabajo alternativa para la pregunta del OP:
fuente
@ Morwenn tiene razón. Necesita configurar el directorio openssl. Antes de eso, es posible que deba asegurarse de tenerlo. deberías comprobar si lo tienes. primero ejecute
openssl version, luego, si lo tiene, puedewin + rejecutaropenssly ganará encontrar el directorio principal, ya que es posible que no se nombre como openssl en su sistema.fuente
Esto es lo que agregué en el
CMakeList.txt(que funcionó):fuente