DMTF / SPDM-Responder-Validator

BSD 3-Clause "New" or "Revised" License
9 stars 13 forks source link

No explanation how to build Test Suite #120

Open admiyo opened 10 months ago

admiyo commented 10 months ago

Usually the explanation would be in the README. Barring that, it would be in the Documentation file.

I tied building with the obvious : mkdir build; cd build; cmake ..

But quickly got into errors like :

CMake Error at CMakeLists.txt:49 (MESSAGE): Unkown ARCH

Setting the arch gets to:

cmake -DARCH:STRING=aarch64 -DTOOLCHAIN:STRING=gcc .. CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

#########################

Build Configuration

######################### ARCH = aarch64 CMake Error at CMakeLists.txt:78 (MESSAGE): Unkown TOOLCHAIN

Unkown TOOLCHAIN

admiyo commented 9 months ago

OK, I was able to get this to build by passing in a bunch of -D options. Why they were not found by default on AARCH64 is a mystery still.

CMakeLists.txt has one error in it that breaks on ARM64: Essentially, I had to remove two flags to GCC

-maccumulate-outgoing-args -mno-red-zone

IN the block that starts with if(CMAKE_SYSTEM_NAME MATCHES "Linux") SET(CMAKE_EXE_EXPORTS_C_FLAG "")

The following Diff got me past it.

@@ -146,10 +146,11 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")

 if(TOOLCHAIN STREQUAL "GCC")
     SET(CMAKE_C_COMPILER gcc)
admiyo commented 9 months ago

This is the Cache file that got it to run (minus the comments):

ARCH:STRING=aarch64

CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line

CMAKE_AR:FILEPATH=/usr/bin/ar

CMAKE_BUILD_TYPE:STRING=Debug

CMAKE_COLOR_MAKEFILE:BOOL=ON

CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc

CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar

CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib

CMAKE_C_FLAGS:STRING=

CMAKE_C_FLAGS_DEBUG:STRING=-g

CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND

CMAKE_EXE_LINKER_FLAGS:STRING=

CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/root/SPDM-Responder-Validator/build/CMakeFiles/pkgRedirects

CMAKE_INSTALL_PREFIX:PATH=/usr/local

CMAKE_LINKER:FILEPATH=/usr/bin/ld

CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake

CMAKE_MODULE_LINKER_FLAGS:STRING=

CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

CMAKE_NM:FILEPATH=/usr/bin/nm

CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy

CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump

CMAKE_PROJECT_DESCRIPTION:STATIC=

CMAKE_PROJECT_HOMEPAGE_URL:STATIC=

CMAKE_PROJECT_NAME:STATIC=SPDM-Responder-Validator

CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib

CMAKE_READELF:FILEPATH=/usr/bin/readelf

CMAKE_SHARED_LINKER_FLAGS:STRING=

CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

CMAKE_SKIP_INSTALL_RPATH:BOOL=OFF

CMAKE_SKIP_RPATH:BOOL=OFF

CMAKE_STATIC_LINKER_FLAGS:STRING=

CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

CMAKE_STRIP:FILEPATH=/usr/bin/strip

CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND

CMAKE_VERBOSE_MAKEFILE:BOOL=OFF

COMPILED_LIBCRYPTO_PATH:STRING=/lib64/libcrypto.so.3

COMPILED_LIBSSL_PATH:STRING=/lib64/libssl.so.3

CRYPTO:STRING=openssl

ENABLE_BINARY_BUILD:UNINITIALIZED=1

GCOV:STRING=

SPDM-Responder-Validator_BINARY_DIR:STATIC=/root/SPDM-Responder-Validator/build

SPDM-Responder-Validator_IS_TOP_LEVEL:STATIC=ON

SPDM-Responder-Validator_SOURCE_DIR:STATIC=/root/SPDM-Responder-Validator

TARGET:UNINITIALIZED=Debug

TOOLCHAIN:STRING=GCC

########################

INTERNAL cache entries

########################

CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 CMAKE_AR-ADVANCED:INTERNAL=1 CMAKE_CACHEFILE_DIR:INTERNAL=/root/SPDM-Responder-Validator/build CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 CMAKE_CACHE_MINOR_VERSION:INTERNAL=27 CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 CMAKE_COMMAND:INTERNAL=/usr/bin/cmake CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/cmake-gui CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 CMAKE_EXTRA_GENERATOR:INTERNAL= CMAKE_GENERATOR:INTERNAL=Unix Makefiles CMAKE_GENERATOR_INSTANCE:INTERNAL= CMAKE_GENERATOR_PLATFORM:INTERNAL= CMAKE_GENERATOR_TOOLSET:INTERNAL= CMAKE_HOME_DIRECTORY:INTERNAL=/root/SPDM-Responder-Validator CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 CMAKE_LINKER-ADVANCED:INTERNAL=1 CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_NM-ADVANCED:INTERNAL=1 CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=4 CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 CMAKE_RANLIB-ADVANCED:INTERNAL=1 CMAKE_READELF-ADVANCED:INTERNAL=1 CMAKE_ROOT:INTERNAL=/usr/share/cmake CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_STRIP-ADVANCED:INTERNAL=1 CMAKE_TAPI-ADVANCED:INTERNAL=1 CMAKE_UNAME:INTERNAL=/usr/bin/uname CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE