2017-10-17 471 views
0

我想包括mlpack到我的yocto版本。沒有啓用python綁定我的食譜烘烤成功。 但在構建Python綁定我得到以下錯誤:aarch64-poky-linux-gcc:error::沒有這樣的文件或目錄

aarch64-poky-linux-gcc -march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -DNDEBUG -g -O3 -Wall 
-Wstrict-prototypes -O2 -pipe -g -feliminate-unused-debug-types -fPIC 
-I/builds/build-h3/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/numpy/core/include 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/ 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/src 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/.. 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include/python2.7 -c /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/sparse_coding.cpp 
-o build/temp.linux-x86_64-2.7/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/sparse_coding.o 
-DBINDING_TYPE=BINDING_TYPE_PYX -std=c++11 -march=armv8-a 
-mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp aarch64-poky-linux-gcc: error: : No such file or directory aarch64-poky-linux-gcc: error: : No such file or directory error: command 'aarch64-poky-linux-gcc' failed with exit status 1 src/mlpack/methods/sparse_coding/CMakeFiles/build_pyx_sparse_coding.dir/build.make:60: recipe for target 'src/mlpack/methods/sparse_coding/CMakeFiles/build_pyx_sparse_coding' failed make[2]: *** [src/mlpack/methods/sparse_coding/CMakeFiles/build_pyx_sparse_coding] Error 1 make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' CMakeFiles/Makefile2:6651: recipe for target 'src/mlpack/methods/sparse_coding/CMakeFiles/build_pyx_sparse_coding.dir/all' failed make[1]: *** [src/mlpack/methods/sparse_coding/CMakeFiles/build_pyx_sparse_coding.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /builds/build-h3/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/setuptools-36.2.7-py2.7.egg/setuptools/dist.py:350: UserWarning: The version specified ('3.0.x') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. running build_ext cythoning /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/preprocess_split.pyx to /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/preprocess_split.cpp building 'mlpack.preprocess_split' extension aarch64-poky-linux-gcc 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -DNDEBUG -g -O3 -Wall 
-Wstrict-prototypes -O2 -pipe -g -feliminate-unused-debug-types -fPIC 
-I/builds/build-h3/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/numpy/core/include 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/ 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/src 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include 
-I/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/.. 
-I/builds/build-h3/tmp/sysroots/h3ulcb/usr/include/python2.7 -c /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/preprocess_split.cpp 
-o build/temp.linux-x86_64-2.7/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/preprocess_split.o 
-DBINDING_TYPE=BINDING_TYPE_PYX -std=c++11 -march=armv8-a 
-mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp aarch64-poky-linux-gcc: error: : No such file or directory aarch64-poky-linux-gcc: error: : No such file or directory error: command 'aarch64-poky-linux-gcc' failed with exit status 1 src/mlpack/methods/preprocess/CMakeFiles/build_pyx_preprocess_split.dir/build.make:60: recipe for target 'src/mlpack/methods/preprocess/CMakeFiles/build_pyx_preprocess_split' failed make[2]: *** [src/mlpack/methods/preprocess/CMakeFiles/build_pyx_preprocess_split] Error 1 make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' CMakeFiles/Makefile2:1387: recipe for target 'src/mlpack/methods/preprocess/CMakeFiles/build_pyx_preprocess_split.dir/all' failed make[1]: *** [src/mlpack/methods/preprocess/CMakeFiles/build_pyx_preprocess_split.dir/all] Error 2 [ 89%] Linking CXX executable ../../../../bin/generate_pyx_softmax_regression cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/softmax_regression && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/generate_pyx_softmax_regression.dir/link.txt --verbose=1 /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp -O2 -pipe -g 
-feliminate-unused-debug-types -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -DNDEBUG 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wl,-O1 
-Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu 
-Wl,--as-needed CMakeFiles/generate_pyx_softmax_regression.dir/__/__/bindings/python/generate_pyx_softmax_regression.cpp.o CMakeFiles/generate_pyx_softmax_regression.dir/__/__/bindings/python/print_pyx.cpp.o 
-o ../../../../bin/generate_pyx_softmax_regression -rdynamic ../../../../lib/libmlpack.so.2.0 -lrt -larmadillo 
-lboost_program_options-mt -lboost_unit_test_framework 
-lboost_serialization-mt cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/softmax_regression && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake 
-DGENERATE_PYX_PROGRAM=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_softmax_regression 
-DPYX_OUTPUT_FILE=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/softmax_regression.pyx 
-P /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/CMake/GeneratePYX.cmake /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_softmax_regression: /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_softmax_regression: cannot execute binary file make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' [ 89%] Built target generate_pyx_softmax_regression [ 89%] Linking CXX executable ../../../../bin/generate_pyx_knn cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/neighbor_search && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/generate_pyx_knn.dir/link.txt --verbose=1 /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp -O2 -pipe -g 
-feliminate-unused-debug-types -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -DNDEBUG 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wl,-O1 
-Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu 
-Wl,--as-needed CMakeFiles/generate_pyx_knn.dir/__/__/bindings/python/generate_pyx_knn.cpp.o CMakeFiles/generate_pyx_knn.dir/__/__/bindings/python/print_pyx.cpp.o 
-o ../../../../bin/generate_pyx_knn -rdynamic ../../../../lib/libmlpack.so.2.0 -lrt -larmadillo 
-lboost_program_options-mt -lboost_unit_test_framework 
-lboost_serialization-mt cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/neighbor_search && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake 
-DGENERATE_PYX_PROGRAM=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_knn 
-DPYX_OUTPUT_FILE=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/knn.pyx 
-P /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/CMake/GeneratePYX.cmake /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_knn: /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_knn: cannot execute binary file make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' [ 89%] Built target generate_pyx_knn [ 89%] Linking CXX executable ../../../../bin/generate_pyx_kfn cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/neighbor_search && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/generate_pyx_kfn.dir/link.txt --verbose=1 /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp -O2 -pipe -g 
-feliminate-unused-debug-types -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -DNDEBUG 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wl,-O1 
-Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu 
-Wl,--as-needed CMakeFiles/generate_pyx_kfn.dir/__/__/bindings/python/generate_pyx_kfn.cpp.o CMakeFiles/generate_pyx_kfn.dir/__/__/bindings/python/print_pyx.cpp.o 
-o ../../../../bin/generate_pyx_kfn -rdynamic ../../../../lib/libmlpack.so.2.0 -lrt -larmadillo 
-lboost_program_options-mt -lboost_unit_test_framework 
-lboost_serialization-mt cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/neighbor_search && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake 
-DGENERATE_PYX_PROGRAM=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_kfn 
-DPYX_OUTPUT_FILE=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/kfn.pyx 
-P /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/CMake/GeneratePYX.cmake /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_kfn: /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_kfn: cannot execute binary file make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' [ 89%] Built target generate_pyx_kfn [ 89%] Linking CXX executable ../../../../bin/generate_pyx_krann cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/rann && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/generate_pyx_krann.dir/link.txt 
--verbose=1 /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wall 
-Wextra -ftemplate-depth=1000 -O3 -fopenmp -O2 -pipe -g 
-feliminate-unused-debug-types -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -DNDEBUG 
-march=armv8-a -mtune=cortex-a57.cortex-a53 
--sysroot=/builds/build-h3/tmp/sysroots/h3ulcb -O2 -pipe -g 
-feliminate-unused-debug-types -fvisibility-inlines-hidden -Wl,-O1 
-Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu 
-Wl,--as-needed CMakeFiles/generate_pyx_krann.dir/__/__/bindings/python/generate_pyx_krann.cpp.o CMakeFiles/generate_pyx_krann.dir/__/__/bindings/python/print_pyx.cpp.o 
-o ../../../../bin/generate_pyx_krann -rdynamic ../../../../lib/libmlpack.so.2.0 -lrt -larmadillo 
-lboost_program_options-mt -lboost_unit_test_framework 
-lboost_serialization-mt cd /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/methods/rann && /builds/build-h3/tmp/sysroots/x86_64-linux/usr/bin/cmake 
-DGENERATE_PYX_PROGRAM=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_krann 
-DPYX_OUTPUT_FILE=/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/src/mlpack/bindings/python/mlpack/krann.pyx 
-P /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/git/CMake/GeneratePYX.cmake /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_krann: /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build/bin/generate_pyx_krann: cannot execute binary file make[2]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' [ 89%] Built target generate_pyx_krann make[1]: Leaving directory '/builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/build' Makefile:141: recipe for target 'all' failed make: *** [all] Error 2 ERROR: oe_runmake failed ERROR: Function failed: do_compile (log file is located at /builds/build-h3/tmp/work/aarch64-poky-linux/mlpack/git-r0/temp/log.do_compile.17361) 

我的食譜是這樣的:

DEPENDS = "boost armadillo python-native python-setuptools-native 
python-pandas-native python-numpy-native python-cython-native 
python-pytest-runner-native doxygen-native" 

LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3cee6555b8c975c14d29687fe7e78038" 

SRC_URI = "git://github.com/mlpack/mlpack.git;protocol=https \ 
" 
SRCREV = "b8ee319818e6213da4b92cb69dab94b956795401" 

S = "${WORKDIR}/git" 

inherit cmake pythonnative 

EXTRA_OECMAKE = "-DDEBUG:BOOL=OFF \ 
-DPROFILE:BOOL=OFF \ 
-DBUILD_TESTS:BOOL=OFF \ 
-DCMAKE_BUILD_TYPE:STRING=Release \ 
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ 
-DCMAKE_SKIP_RPATH:BOOL=YES \ 
-DPY_PANDAS:PATH=${STAGING_LIBDIR_NATIVE}/python2.7/site-packages/pandas \ 
" 

do_compile_prepend() { 
export STAGING_LIBDIR="${STAGING_LIBDIR}" 
export STAGING_INCDIR="${STAGING_INCDIR}" 
} 

是否有別的東西,需要包括在我的祕訣是什麼? 或者是構建環境丟失了什麼?

任何指針真的會有所幫助。

回答

0

mlpack建立在多個步驟Python綁定:

  • 構建一個generate_pyx_<name>程序生成將被編譯
  • 運行generate_pyx_<name>程序用Cython .pyx文件並保存輸出文件.pyx
  • 使用用Cython和setuptools的產生從.pyx文件.cpp文件,然後編譯

這是一個有點迂迴的PROC但我相信這裏發生的事情是generate_pyx_<name>程序正在爲設備而不是主機編譯,因此無法運行以生成.pyx文件。遺憾的是,不會有一種特別簡單的方法來解決這個問題,因爲CMake將編譯generate_pyx_<name>目標,其中包含與編譯庫的其餘部分相同的選項(在您的案例中以設備爲目標)。

爲了使這項工作,你需要修改src/mlpack/bindings/python/CMakeLists.txt,特別是線

add_executable(generate_pyx_${name} 
    ${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/generate_pyx_${name}.cpp 
    ${CMAKE_SOURCE_DIR}/src/mlpack/bindings/python/print_pyx.hpp 
    ${CMAKE_SOURCE_DIR}/src/mlpack/bindings/python/print_pyx.cpp) 

及相關線路。實質上,您需要確保像-march=armv8-a -mtune=cortex-a57.cortex-a53這樣的CXXFLAGS不會被用於該特定目標。

相關問題