Estoy tratando de construir inria Graphite en mi ubuntu que se ejecuta en un simulador VirtualBox, sigo las instrucciones e instalo los python-dev
paquetes, pero cuando ejecuto cmake, todavía aparece un error:
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
(Required is at least version "3.2")
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindPythonLibs.cmake:208 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
src/packages/OGF/gel_python3/CMakeLists.txt:11 (FIND_PACKAGE)
Lo comprobé /usr/lib/
y encontré
tintin@tintin-VirtualBox:/usr/lib$ find . -name "libpython*"
./x86_64-linux-gnu/libpython3.4m.so.1.0
./x86_64-linux-gnu/libpython2.7.so.1.0
./x86_64-linux-gnu/libpython3.4m.a
./x86_64-linux-gnu/libpython2.7.a
./x86_64-linux-gnu/libpython3.4m.so
./x86_64-linux-gnu/libpython2.7.so
./x86_64-linux-gnu/libpython2.7.so.1
./x86_64-linux-gnu/libpython3.4m.so.1
Entonces, ¿por qué cmake no puede encontrar las PythonLibs, o cómo debo lidiar con esto?
sudo apt-get install python-dev
apt-get install python3-dev
.python-dev
ypython3-dev
son metapaquetes que extraen el desarrollador más actual en sentido ascendente para el Python seleccionado.El problema parece ser que Ubuntu 14.04 instala Python 3.4 por defecto y la versión CMake de Ubuntu (2.8) solo busca hasta Python 3.3. Una solución alternativa es agregar
set(Python_ADDITIONAL_VERSIONS 3.4)
antes de lafind_package
declaración. Tenga en cuenta que presenté un error sobre este problema.Desde CMake 3.0, CMake busca hasta Python 3.4 , por lo que instalar esa versión manualmente también debería solucionar el problema.
fuente
Para mí, el problema era un mal caché
Eliminé el caché con la versión 2.7 anterior y le permití encontrar 3.2 en mi caso.
El cmake que usé es
fuente
Recientemente tuve un problema similar con Ubuntu 14.04 de 64 bits; aparentemente, CMake no busca en las carpetas de instalación dependientes de la arquitectura de manera predeterminada:
(de la documentación en línea de CMake 2.8.12 del comando find_package )
Una solución consiste en establecer esta CMAKE_LIBRARY_ARCHITECTURE en el archivo raíz del proyecto CMakeLists.txt (en su caso, sería editar src / packages / OGF / gel_python3 / CMakeLists.txt) antes de llamar a find_package para PythonLibs; por ejemplo:
Eso funcionó en mi caso.
fuente