Estou tentando criar inria Graphite no meu ubuntu, que está sendo executado em um simulador do VirtualBox, sigo as instruções e instalo os python-dev
pacotes, mas quando executo o cmake, ainda há um erro:
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)
Eu verifiquei o /usr/lib/
e encontrar
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
então por que o cmake não consegue encontrar o PythonLibs ou como devo lidar com isso?
sudo apt-get install python-dev
apt-get install python3-dev
.python-dev
epython3-dev
são metapacotes que puxam o desenvolvedor mais atual para o Python selecionado.O problema parece ser que o Ubuntu 14.04 instala o Python 3.4 por padrão e a versão CMake do Ubuntu (2.8) pesquisa apenas até o Python 3.3. Uma solução alternativa é adicionar
set(Python_ADDITIONAL_VERSIONS 3.4)
antes dafind_package
declaração. Observe que eu registrei um bug sobre esse problema.Desde o CMake 3.0, o CMake pesquisa até o Python 3.4 , portanto, a instalação manual dessa versão também deve solucionar o problema.
fonte
Para mim, o problema era um cache ruim
Removido o cache da versão 2.7 antiga e permitindo encontrar 3.2 no meu caso.
O cmake que usei é
fonte
Recentemente, tive um problema semelhante com o Ubuntu 14.04 de 64 bits; aparentemente, o CMake não analisa as pastas de instalação dependentes da arquitetura por padrão:
(da documentação on-line do CMake 2.8.12 do comando find_package )
Uma solução consiste em definir este CMAKE_LIBRARY_ARCHITECTURE no arquivo CMakeLists.txt raiz do projeto (no seu caso, estaria editando src / packages / OGF / gel_python3 / CMakeLists.txt) antes de chamar find_package para PythonLibs; por exemplo:
Isso funcionou no meu caso.
fonte