Как собрать тесты psa-arch с помощью cmake и armclang в cygwin? - PullRequest
3 голосов
/ 05 марта 2020

После установки нескольких программ для построения среды компиляции в соответствии с Документом с требованиями к программному обеспечению, который находится в «https://github.com/ARM-software/psa-arch-tests/blob/master/api-tests/docs/sw_requirements.md», когда я скомпилировал исходный код psa-arch-tests теста PSA API на соответствие Suite, Cygwin запросил следующий результат ошибки:

luofeng66ok@DESKTOP ~/TFMB/psa-arch-tests/api-tests/build
$ cmake ../ -G"Unix Makefiles" -DTOOLCHAIN=ARMCLANG -DTARGET=tgt_dev_apis_tfm_an521 -DCPU_ARCH=armv8m_ml -DSUITE=CRYPTO -DPSA_INCLUDE_PATHS="/cygdrive/c/cygwin64/home/anpengfei/TFMB/trusted-firmware-m/interface/include/psa/crypto.h"
-- The CXX compiler identification is unknown
CMake Error in CMakeLists.txt:
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "C:/cygwin64/home/luofeng66ok/TFMB/psa-arch-tests/api-tests/BUILD/CMakeF
iles/CMakeOutput.log".
See also "C:/cygwin64/home/luofeng66ok/TFMB/psa-arch-tests/api-tests/BUILD/CMakeF
iles/CMakeError.log".

Как устранить эту ошибку?

CMakeError.log содержит:

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: C:/cygwin64/bin/cc 
Build flags: 
Id flags:  

The output was:
拒绝访问。


Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: C:/cygwin64/bin/cc 
Build flags: 
Id flags: -c 

The output was:
拒绝访问。
......

Мои установленные программы:

  • Операционная система хоста: Windows 10 64 бит
  • Инструменты сценариев:

    luofeng66ok@DESKTOP-STB70QG ~/TFMB/psa-arch-tests/api-tests/build
    $ Python --version
    Python 3.7.0
    
  • Кросс-компилятор:

    luofeng66ok@DESKTOP-STB70QG ~/TFMB/psa-arch-tests/api-tests/build
    $ armclang --version
    Product: MDK Plus 5.29
    Component: ARM Compiler 6.13.1
    Tool: armclang [5d895d00]
    Target: unspecified-arm-none-unspecified
    
  • Инструменты сборки:

    luofeng66ok@DESKTOP-STB70QG ~/TFMB/psa-arch-tests/api-tests/build
    $ cmake --version
    cmake version 3.10.0-rc1
    CMake suite maintained and supported by Kitware (kitware.com/cmake).
    
    $ cygcheck --version
    cygcheck (cygwin) 3.1.4
    

, и я импортировал Arm Compiler в переменную среды,

enter image description here

В то же время я также импортировал Arm Compiler следующим образом:

C:\cygwin64\home\luofeng66ok\.bashrc:

export PATH=/cygdrive/c/Keil/ARM/ARMCLANG/bin:$PATH
export PATH=/cygdrive/c/cmake/bin:$PATH
export PATH=/cygdrive/c/armgcc/bin:$PATH

Мои шаги для построения psa-arch-tests являются:

 git clone https://github.com/ARM-software/psa-arch-tests.git

 git clone https://github.com/laurencelundblade/QCBOR.git (I do not why do this)

 cd <TF-M base folder>
 git clone https://git.trustedfirmware.org/trusted-firmware-m.git
 git clone https://github.com/ARMmbed/mbed-crypto.git -b mbedcrypto-3.0.1
 git clone https://github.com/ARM-software/CMSIS_5.git -b 5.5.0
 git-lfs

Мой каталог tfmb содержит:

luofeng66ok@DESKTOP-STB70QG ~/tfmb
$ ls
CMSIS_5  mbed-crypto  psa-arch-tests  trusted-firmware-m

Начало компиляции psa-arch-tests

cd api-tests
    mkdir BUILD
    cd  BUILD
    cmake ../ -G"Unix Makefiles" -DTOOLCHAIN=ARMCLANG -DTARGET=tgt_dev_apis_tfm_an521 -DCPU_ARCH=armv8m_ml -DSUITE=CRYPTO -DPSA_INCLUDE_PATHS="/cygdrive/c/cygwin64/home/anpengfei/TFMB/trusted-firmware-m/interface/include/psa/crypto.h"    

как показывает ошибка выше в моем cygwin, я не почему?

luofeng66ok@DESKTOP-STB70QG ~/TFMB/psa-arch-tests/api-tests/build
$ cmake ../ -G"Unix Makefiles" -DTOOLCHAIN=ARMCLANG -DTARGET=tgt_dev_apis_tfm_an521 -DCPU_ARCH=armv8m_ml -DSUITE=CRYPTO -DPSA_INCLUDE_PATHS="/cygdrive/c/cygwin64/home/anpengfei/TFMB/trusted-firmware-m/interface/include/psa/crypto.h"
-- The CXX compiler identification is unknown
CMake Error in CMakeLists.txt:
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "C:/cygwin64/home/luofeng66ok/TFMB/psa-arch-tests/api-tests/BUILD/CMakeF
iles/CMakeOutput.log".
See also "C:/cygwin64/home/luofeng66ok/TFMB/psa-arch-tests/api-tests/BUILD/CMakeF
iles/CMakeError.log".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...