Próbuję zbudować grafikę inria na moim Ubuntu, który działa w symulatorze VirtualBox, postępuję zgodnie z instrukcjami i instaluję python-dev
pakiety, ale po uruchomieniu cmake nadal pojawia się błąd:
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)
Sprawdziłem /usr/lib/
i znajdź
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
więc dlaczego cmake nie może znaleźć PythonLibs lub jak mam sobie z tym poradzić?
sudo apt-get install python-dev
apt-get install python3-dev
.python-dev
ipython3-dev
są metapakietami, które ściągają najbardziej aktualne dev dla wybranego Pythona.Problem polega na tym, że Ubuntu 14.04 domyślnie instaluje Python 3.4, a wersja CMake z Ubuntu (2.8) wyszukuje tylko Python 3.3. Obejściem tego problemu jest dodanie
set(Python_ADDITIONAL_VERSIONS 3.4)
przedfind_package
instrukcją. Pamiętaj, że zgłosiłem błąd dotyczący tego problemu.Od CMake 3.0 CMake wyszukuje do Pythona 3.4 , więc ręczne zainstalowanie tej wersji powinno również rozwiązać problem.
źródło
Dla mnie problemem był zły bufor
Usunąłem pamięć podręczną ze starą wersją 2.7 i pozwoliłem jej znaleźć 3.2 w moim przypadku.
Użyłem cmake
źródło
Ostatnio miałem podobny problem z Ubuntu 14.04 64-bit; najwyraźniej CMake domyślnie nie sprawdza folderów instalacyjnych zależnych od architektury:
(z dokumentacji online CMake 2.8.12 komendy find_package )
Rozwiązanie polega na ustawieniu tego pliku CMAKE_LIBRARY_ARCHITECTURE w głównym pliku CMakeLists.txt projektu (w twoim przypadku będzie to edycja src / packages / OGF / gel_python3 / CMakeLists.txt) przed wywołaniem find_package dla PythonLibs; na przykład:
To zadziałało w moim przypadku.
źródło