H2o: Cmake: NO se pudo encontrar OpenSSL

Creado en 6 mar. 2015  ·  10Comentarios  ·  Fuente: h2o/h2o

Hola a todos

Acabo de seguir el tema de instalación https://github.com/h2o/h2o/blob/master/README.md# , pero apilé en el punto:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local .

Recibo constantemente este error:

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (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/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:313 (find_package_handle_standard_args)
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

Mis pasos de instalación en un Ubuntu 14.04.02 limpio:

root@RP-01:~# apt-get install locate git perl python cmake libyaml-0-2 build-essential -y
root@RP-01:~# git clonehttps://github.com/openssl/openssl.git
root@RP-01:~# git clone https://github.com/h2o/h2o.git

root@RP-01:~# apt-get remove openssl libssl-dev
root@RP-01:~# cd openssl/
root@RP-01:~/openssl# ./config
root@RP-01:~/openssl# make
root@RP-01:~/openssl# make test
root@RP-01:~/openssl# make install
root@RP-01:~# /usr/local/ssl/bin/openssl version
OpenSSL 1.1.0-dev xx XXX xxxx

# Looks like ssl is ok! I have no errors here.

Según el error mencionado anteriormente, encontré este tema:
http://stackoverflow.com/questions/16248775/cmake-not-able-to-find-openssl

Y probé:

cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib

Sin embargo, estoy recibiendo el mismo error. ¿Cómo puedo resolverlo?

Gracias por tu ayuda.

andré

Comentario más útil

OK, tengo algunos logros en mi viaje de instalación. Paquetes requeridos (no estoy seguro si libyaml-dev 0.1.4 libuv-dev 0.10.22 versiones correctas)

apt-get install locate git cmake build-essential checkinstall autoconf pkg-config libtool python-sphinx libcunit1-dev nettle-dev libyaml-dev libuv-dev -y

Creo que más tarde puedo producir un tutorial de instalación de ubuntu. ;) Sin embargo, todavía tengo el mismo error:

root@RP-01:~/h2o# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

@kazuho Gracias por tu propuesta pero ahora la tengo así:

root@RP-01:~/h2o# cmake -DCMAKE_INCLUDE_PATH=/usr/local/ssl/include -DCMAKE_LIBRARY_PATH=/usr/local/ssl/lib
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Found OpenSSL: /usr/local/ssl/lib/libssl.a;/usr/local/ssl/lib/libcrypto.a (found version ".0.0`") 
-- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so  
-- Found LIBYAML: /usr/lib/x86_64-linux-gnu/libyaml.so  
-- Found WSLAY: /usr/local/lib/libwslay.so  
-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

Me encuentro con este problema, también. Y con un poco de búsqueda en Internet, encuentro este problema.
Finalmente, encuentro la razón por la cual cmake no puede decidir con éxito la versión de openssl.
En /usr/share/cmake-2.8/Modules/FindOpenSSL. cmake:278 este archivo, usa expresiones regulares para que coincida con la versión de openssl usando:
REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
PERO en openssl/opensslv.h, define la versión como:
# define OPENSSL_VERSION_NUMBER 0x101000bfL
¿Notas la magia aquí?
Sí, el espacio entre # y define es la razón por la que no puede decidir correctamente la versión de openssl. Y al eliminar el espacio en opensslv.h, el proceso de configuración ahora puede tener éxito.
cambiar a:
#define OPENSSL_VERSION_NUMBER 0x101000bfL

Todos 10 comentarios

Me encuentro con este problema, luego sigo
cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib
entonces el error desapareció

Por mi error todavía existe. Incluso yo lo intento así:

root@RP-01:~/h2o# cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib cmake -DCMAKE_INSTALL_PREFIX=/usr/local .

¿Te importaría probar: cmake -DCMAKE_INCLUDE_PATH=/usr/local/ssl/include -DCMAKE_LIBRARY_PATH=/usr/local/ssl/lib ?

OK, tengo algunos logros en mi viaje de instalación. Paquetes requeridos (no estoy seguro si libyaml-dev 0.1.4 libuv-dev 0.10.22 versiones correctas)

apt-get install locate git cmake build-essential checkinstall autoconf pkg-config libtool python-sphinx libcunit1-dev nettle-dev libyaml-dev libuv-dev -y

Creo que más tarde puedo producir un tutorial de instalación de ubuntu. ;) Sin embargo, todavía tengo el mismo error:

root@RP-01:~/h2o# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

@kazuho Gracias por tu propuesta pero ahora la tengo así:

root@RP-01:~/h2o# cmake -DCMAKE_INCLUDE_PATH=/usr/local/ssl/include -DCMAKE_LIBRARY_PATH=/usr/local/ssl/lib
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Found OpenSSL: /usr/local/ssl/lib/libssl.a;/usr/local/ssl/lib/libcrypto.a (found version ".0.0`") 
-- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so  
-- Found LIBYAML: /usr/lib/x86_64-linux-gnu/libyaml.so  
-- Found WSLAY: /usr/local/lib/libwslay.so  
-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

@aafanasyev Lo siento, accidentalmente cerré el problema. Vuelva a abrir el problema si el problema persiste.

@kazuho - ¿Se requiere OpenSSL incluso cuando estoy construyendo con cmake -DWITH_BUNDLED_SSL=on ? Eso parece ser así, porque recibo el mismo error Could NOT find OpenSSL .

@kishorenc

¿Se requiere OpenSSL incluso cuando estoy construyendo con cmake -DWITH_BUNDLED_SSL=on ?

No.
¿Podría publicar la salida de entrada?

Seguro:

$ cmake -DWITH_BUNDLED_SSL=on .
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- 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)
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindZLIB.cmake:85 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:46 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

Lo siento por la falsa alarma. Me doy cuenta de que en realidad se está quejando de ZLIB y no de OpenSSL. Todo bien ahora.

OK, tengo algunos logros en mi viaje de instalación. Paquetes requeridos (no estoy seguro si libyaml-dev 0.1.4 libuv-dev 0.10.22 versiones correctas)

apt-get install locate git cmake build-essential checkinstall autoconf pkg-config libtool python-sphinx libcunit1-dev nettle-dev libyaml-dev libuv-dev -y

Creo que más tarde puedo producir un tutorial de instalación de ubuntu. ;) Sin embargo, todavía tengo el mismo error:

root@RP-01:~/h2o# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

@kazuho Gracias por tu propuesta pero ahora la tengo así:

root@RP-01:~/h2o# cmake -DCMAKE_INCLUDE_PATH=/usr/local/ssl/include -DCMAKE_LIBRARY_PATH=/usr/local/ssl/lib
CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:278 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:279 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:281 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


CMake Error at /usr/share/cmake-2.8/Modules/FindOpenSSL.cmake:283 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)


-- Found OpenSSL: /usr/local/ssl/lib/libssl.a;/usr/local/ssl/lib/libcrypto.a (found version ".0.0`") 
-- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so  
-- Found LIBYAML: /usr/lib/x86_64-linux-gnu/libyaml.so  
-- Found WSLAY: /usr/local/lib/libwslay.so  
-- Configuring incomplete, errors occurred!
See also "/root/h2o/CMakeFiles/CMakeOutput.log".
See also "/root/h2o/CMakeFiles/CMakeError.log".

Me encuentro con este problema, también. Y con un poco de búsqueda en Internet, encuentro este problema.
Finalmente, encuentro la razón por la cual cmake no puede decidir con éxito la versión de openssl.
En /usr/share/cmake-2.8/Modules/FindOpenSSL. cmake:278 este archivo, usa expresiones regulares para que coincida con la versión de openssl usando:
REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
PERO en openssl/opensslv.h, define la versión como:
# define OPENSSL_VERSION_NUMBER 0x101000bfL
¿Notas la magia aquí?
Sí, el espacio entre # y define es la razón por la que no puede decidir correctamente la versión de openssl. Y al eliminar el espacio en opensslv.h, el proceso de configuración ahora puede tener éxito.
cambiar a:
#define OPENSSL_VERSION_NUMBER 0x101000bfL

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

voiddeveloper picture voiddeveloper  ·  6Comentarios

utrenkner picture utrenkner  ·  3Comentarios

chenbd picture chenbd  ·  3Comentarios

utrenkner picture utrenkner  ·  7Comentarios

Ys88 picture Ys88  ·  5Comentarios