aws / aws-sdk-cpp

AWS SDK for C++
Apache License 2.0
1.98k stars 1.06k forks source link

Cannot compile the latest aws-sdk-cpp with Clang #1759

Closed NullEmpty closed 2 years ago

NullEmpty commented 3 years ago

Confirm by changing [ ] to [x] below to ensure that it's a bug:

Describe the bug Cannot compile the latest aws-sdk-cpp with Clang

SDK version number main、version1.9

Platform/OS/Hardware/Device CentOS 7

To Reproduce (observed behavior)

1、Install clang, llvm, libc++, libc++abi (For example, version 8.0.1)

2、Follow https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/setup-linux.html to compile S3 sdk using source code:

git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp

mkdir sdk_build

cd sdk_build

cmake ../aws-sdk-cpp/  -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -lc++abi"   -DUSE_OPENSSL=OFF -DENABLE_TESTING=OFF  -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3"

make -j16

Expected behavior Compiled successfully

Logs/output

[root@VM-146-79-centos /home/letoxu/AWS-SDK/build_clang]# cmake ../aws-sdk-cpp/  -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -lc++abi"   -DUSE_OPENSSL=OFF -DENABLE_TESTING=OFF  -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3"
CMake Warning at CMakeLists.txt:88 (message):
  Turning off USE_OPENSSL will install AWS-LC as replacement of OpenSSL in
  the system default directory.  This is an experimental feature.  Do not use
  if you have an OpenSSL installation in your system already.

-- TARGET_ARCH not specified; inferring host OS to be platform compilation target
-- Building AWS libraries as shared objects
-- Generating linux build config
-- Building project version: 1.9.93
--   Zlib library: /usr/lib64/libz.so
-- Encryption: Openssl
--   Using libcrypto and libssl from AWS-LC.
-- Http client: Curl
--   Curl include directory: /usr/include
--   Curl library: /usr/lib64/libcurl.so
-- AWS CRT C++ v1.0.0-dev
-- CMake 3.18.4
-- attempting to use sanitizer list address;undefined
-- Building SIMD base64 decoder
-- Checking for module 'libunwind-generic'
--   No package 'libunwind-generic' found
libunwind not found. Disabling unwind tests.
-- Go not found. Disabling some code generation and using pre-generated code in generated-src/
-- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
-- Test stdalign_check.c passed, enabling AWS_LC_STDALIGN_AVAILABLE
-- Test builtin_swap_check.c passed, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
Copying platform assembly files from /home/letoxu/AWS-SDK/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-lc/generated-src/linux-x86_64/crypto/ to /home/letoxu/AWS-SDK/build_clang/crt/aws-crt-cpp/crt/aws-lc/crypto
-- Enabling SIKEP434R3 assembly code
-- Enabling BIKE_R3 x86_64 optimizations
-- Support for ADX assembly instructions detected
-- S2N found target: crypto
-- attempting to use sanitizer list address;undefined
-- Using libcrypto from AWS-LC
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- Add s3-crt:s3 to C2J_SPECIAL_NAME_LIST
-- Considering s3
-- Updating version info to 1.9.93
-- Custom memory management disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/letoxu/AWS-SDK/build_clang
[root@VM-146-79-centos /home/letoxu/AWS-SDK/build_clang]# make -j16
[  0%] Built target global_target
[  2%] Built target fipsmodule
[  8%] Built target aws-c-common
Scanning dependencies of target aws-checksums
[  9%] Built target aws-c-compression
[  9%] Building C object crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o
[ 38%] Built target crypto
clang-8: /home/download/llvm-8.0.1.src/lib/CodeGen/TwoAddressInstructionPass.cpp:1547: void {anonymous}::TwoAddressInstructionPass::processTiedPairs(llvm::MachineInstr*, {anonymous}::TwoAddressInstructionPass::TiedPairList&, unsigned int&): Assertion `i == DstIdx || !MI->getOperand(i).isReg() || MI->getOperand(i).getReg() != RegA' failed.
Stack dump:
0.      Program arguments: /usr/local/clang/bin/clang-8 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name crc32c_sse42_asm.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /home/letoxu/AWS-SDK/build_clang/crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.gcno -resource-dir /usr/local/clang/lib/clang/8.0.1 -D ENABLE_CURL_CLIENT -D ENABLE_OPENSSL_ENCRYPTION -D HAVE_SYSCONF -D PLATFORM_LINUX -I /home/letoxu/AWS-SDK/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/include -I /home/letoxu/AWS-SDK/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-c-common/include -I /home/letoxu/AWS-SDK/build_clang/crt/aws-crt-cpp/crt/aws-c-common/generated/include -D NDEBUG -internal-isystem /usr/local/include -internal-isystem /usr/local/clang/lib/clang/8.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Wall -Wstrict-prototypes -Wextra -Wno-long-long -Wgnu -Wno-gnu-zero-variadic-macro-arguments -pedantic -std=gnu99 -fdebug-compilation-dir /home/letoxu/AWS-SDK/build_clang/crt/aws-crt-cpp/crt/aws-checksums -ferror-limit 19 -fmessage-length 249 -pthread -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o -x c /home/letoxu/AWS-SDK/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/source/intel/asm/crc32c_sse42_asm.c -faddrsig 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/letoxu/AWS-SDK/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/source/intel/asm/crc32c_sse42_asm.c'.
4.      Running pass 'Two-Address instruction pass' on function '@aws_checksums_crc32c_hw'
[ 39%] Built target aws-c-cal
[ 39%] Built target sha256_profile
[ 44%] Built target ssl
[ 46%] Built target decrepit
[ 48%] Built target bssl
[ 78%] Built target s2n
[ 81%] Built target aws-c-io
[ 84%] Built target aws-c-http
[ 85%] Built target aws-c-mqtt
[ 88%] Built target aws-c-auth
[ 89%] Built target aws-c-s3
 #0 0x000000000236949a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/local/clang/bin/clang-8+0x236949a)
 #1 0x0000000002367379 llvm::sys::RunSignalHandlers() (/usr/local/clang/bin/clang-8+0x2367379)
 #2 0x00000000023674b5 SignalHandler(int) (/usr/local/clang/bin/clang-8+0x23674b5)
 #3 0x00007ff23e24b630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007ff23cdbe3d7 __GI_raise (/lib64/libc.so.6+0x363d7)
 #5 0x00007ff23cdbfac8 __GI_abort (/lib64/libc.so.6+0x37ac8)
 #6 0x00007ff23cdb71a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007ff23cdb7252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000001c5bcd6 (anonymous namespace)::TwoAddressInstructionPass::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/clang/bin/clang-8+0x1c5bcd6)
 #9 0x0000000001adf55e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.88) (/usr/local/clang/bin/clang-8+0x1adf55e)
#10 0x0000000001e3e41f llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/clang/bin/clang-8+0x1e3e41f)
#11 0x0000000001e3e64c llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/clang/bin/clang-8+0x1e3e64c)
#12 0x0000000001e3ed63 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/clang/bin/clang-8+0x1e3ed63)
#13 0x000000000252edfd (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/usr/local/clang/bin/clang-8+0x252edfd)
#14 0x0000000002531066 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/usr/local/clang/bin/clang-8+0x2531066)
#15 0x0000000002e8311e clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/local/clang/bin/clang-8+0x2e8311e)
#16 0x000000000375f26c clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/clang/bin/clang-8+0x375f26c)
#17 0x0000000002e8273f clang::CodeGenAction::ExecuteAction() (/usr/local/clang/bin/clang-8+0x2e8273f)
#18 0x00000000029b49f6 clang::FrontendAction::Execute() (/usr/local/clang/bin/clang-8+0x29b49f6)
#19 0x000000000298708e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/clang/bin/clang-8+0x298708e)
#20 0x0000000002a60e4a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/clang/bin/clang-8+0x2a60e4a)
#21 0x000000000098b0c8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/clang/bin/clang-8+0x98b0c8)
#22 0x00000000008fa3b8 main (/usr/local/clang/bin/clang-8+0x8fa3b8)
#23 0x00007ff23cdaa555 __libc_start_main (/lib64/libc.so.6+0x22555)
#24 0x00000000009859f9 _start (/usr/local/clang/bin/clang-8+0x9859f9)
clang-8: error: unable to execute command: Aborted
clang-8: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 8.0.1 (tags/RELEASE_801/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang/bin
clang-8: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang-8: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-8: note: diagnostic msg: /tmp/crc32c_sse42_asm-918ff5.c
clang-8: note: diagnostic msg: /tmp/crc32c_sse42_asm-918ff5.sh
clang-8: note: diagnostic msg: 

********************
make[2]: *** [crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o] Error 254
make[1]: *** [crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/all] Error 2
make: *** [all] Error 2
[root@VM-146-79-centos /home/letoxu/AWS-SDK/build_clang]# 

To enable logging, set the following system properties:

REMEMBER TO SANITIZE YOUR PERSONAL INFO

options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace;
Aws::InitAPI(options)

Additional context

After switching https://github.com/aws/aws-sdk-cpp to the 1.7.9 branch, it can be compiled with Clang. Use main, version1.9 and other branches will fail to compile

KaibaLopez commented 3 years ago

Hi @NullEmpty , Sorry for the lack of response, I think this was caused by an error on the dependencies that has since been patched, I tried to reproduce just now and didn't get any problems, could you retry and see if you are still seeing this?

NullEmpty commented 3 years ago

Hi @NullEmpty , Sorry for the lack of response, I think this was caused by an error on the dependencies that has since been patched, I tried to reproduce just now and didn't get any problems, could you retry and see if you are still seeing this?

After pulling the latest code, I still have this problem. I can compile successfully after commenting the method body of aws_checksums_crc32c_hw in the file aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/source/intel/asm/crc32c_sse42_asm.c

KaibaLopez commented 3 years ago

Hi @NullEmpty , I haven't been able to reproduce this specific error yet... But I am facing other errors as soon as I introduce libc++, so 2 questions: do you still see the error without the -stdlib=libc++ flags? And do you need them?

I think there might be a versioning mismatch going on that I haven't completely figured out but if you don't need to use libc++ it could make things easier too.

NullEmpty commented 3 years ago
  1. I still see the error without the -stdlib=libc++ flags
  2. Yes, we need them.

Our previous libraries are compiled with libc++, so S3 SDK also needs to rely on libc++ instead of libstdc++.

----------------------------------------------The following compilation process------------------------------------------------------------

[root@VM-146-79-centos /home/letoxu/AWS-SDK/build_github]# cmake ../../aws-sdk-cpp/  -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUSE_OPENSSL=OFF -DENABLE_TESTING=OFF  -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3" 
CMake Warning at CMakeLists.txt:89 (message):
  Turning off USE_OPENSSL will install AWS-LC as replacement of OpenSSL in
  the system default directory.  This is an experimental feature.  Do not use
  if you have an OpenSSL installation in your system already.

-- TARGET_ARCH not specified; inferring host OS to be platform compilation target
-- Building AWS libraries as shared objects
-- Generating linux build config
-- Building project version: 1.9.98
-- The CXX compiler identification is Clang 8.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/clang/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7") 
--   Zlib library: /usr/lib64/libz.so
-- Encryption: Openssl
--   Using libcrypto and libssl from AWS-LC.
-- Http client: Curl
-- Found CURL: /usr/lib64/libcurl.so (found version "7.29.0")  
--   Curl include directory: /usr/include
--   Curl library: /usr/lib64/libcurl.so
-- Performing Test HAVE_ATOMICS_WITHOUT_LIBATOMIC
-- Performing Test HAVE_ATOMICS_WITHOUT_LIBATOMIC - Success
-- The C compiler identification is Clang 8.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/clang/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- AWS CRT C++ v1.0.0-dev
CMake Warning (dev) at crt/aws-crt-cpp/crt/aws-c-common/CMakeLists.txt:5 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'STATIC_CRT'.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- CMake 3.18.4
-- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS
-- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS - Success
-- Performing Test AWS_HAVE_MSVC_MULX
-- Performing Test AWS_HAVE_MSVC_MULX - Failed
-- Performing Test AWS_HAVE_WINAPI_DESKTOP
-- Performing Test AWS_HAVE_WINAPI_DESKTOP - Failed
-- Performing Test AWS_ARCH_INTEL
-- Performing Test AWS_ARCH_INTEL - Success
-- Performing Test AWS_ARCH_ARM64
-- Performing Test AWS_ARCH_ARM64 - Failed
-- Performing Test AWS_ARCH_ARM32
-- Performing Test AWS_ARCH_ARM32 - Failed
-- Performing Test AWS_HAVE_GCC_INLINE_ASM
-- Performing Test AWS_HAVE_GCC_INLINE_ASM - Success
-- Performing Test AWS_HAVE_AUXV
-- Performing Test AWS_HAVE_AUXV - Success
-- Performing Test AWS_HAVE_EXECINFO
-- Performing Test AWS_HAVE_EXECINFO - Success
-- Performing Test AWS_SHOULD_DISABLE_STRINGOP_OVERFLOW
-- Performing Test AWS_SHOULD_DISABLE_STRINGOP_OVERFLOW - Failed
-- Performing Test HAVE_M_AVX2_FLAG
-- Performing Test HAVE_M_AVX2_FLAG - Success
-- Performing Test HAVE_AVX2_INTRINSICS
-- Performing Test HAVE_AVX2_INTRINSICS - Success
-- Performing Test HAVE_MM256_EXTRACT_EPI64
-- Performing Test HAVE_MM256_EXTRACT_EPI64 - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Performing Test HAS_MOUTLINE_ATOMICS
-- Performing Test HAS_MOUTLINE_ATOMICS - Failed
-- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT
-- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT - Success
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAS_WGNU
-- Performing Test HAS_WGNU - Success
-- Performing Test NO_GNU_EXPR
-- Performing Test NO_GNU_EXPR - Success
-- Performing Test HAVE_SYSCONF
-- Performing Test HAVE_SYSCONF - Success
-- Looking for pthread_attr_setaffinity_np
-- Looking for pthread_attr_setaffinity_np - found
-- Performing Test HAS_SANITIZERS
-- Performing Test HAS_SANITIZERS - Success
-- attempting to use sanitizer list address;undefined
-- Building SIMD base64 decoder
-- Checking for module 'libunwind-generic'
--   No package 'libunwind-generic' found
libunwind not found. Disabling unwind tests.
-- Go not found. Disabling some code generation and using pre-generated code in generated-src/
-- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
-- Test stdalign_check.c passed, enabling AWS_LC_STDALIGN_AVAILABLE
-- Test builtin_swap_check.c passed, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
-- The ASM compiler identification is Clang
-- Found assembler: /usr/local/clang/bin/clang
Copying platform assembly files from /home/letoxu/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-lc/generated-src/linux-x86_64/crypto/ to /home/letoxu/AWS-SDK/build_github/crt/aws-crt-cpp/crt/aws-lc/crypto
-- Enabling SIKEP434R3 assembly code
-- Enabling BIKE_R3 x86_64 optimizations
-- Support for ADX assembly instructions detected
-- S2N found target: crypto
-- attempting to use sanitizer list address;undefined
-- Using libcrypto from AWS-LC
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- attempting to use sanitizer list address;undefined
-- Add s3-crt:s3 to C2J_SPECIAL_NAME_LIST
-- Considering s3
-- Looking for pathconf
-- Looking for pathconf - found
-- Looking for umask
-- Looking for umask - found
-- Updating version info to 1.9.98
-- Custom memory management disabled
-- Performing Test CURL_HAS_H2
-- Performing Test CURL_HAS_H2 - Failed
-- Performing Test CURL_HAS_TLS_PROXY
-- Performing Test CURL_HAS_TLS_PROXY - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /home/letoxu/AWS-SDK/build_github
[root@VM-146-79-centos /home/letoxu/AWS-SDK/build_github]# make -j16
Scanning dependencies of target global_target
Scanning dependencies of target aws-c-common
[  0%] Built target global_target
Scanning dependencies of target fipsmodule
[  0%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/allocator.c.o
[  0%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/allocator_sba.c.o
[  0%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/arch/intel/asm/cpuid.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/arch/intel/encoding_avx2.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/array_list.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/cache.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/assert.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/byte_buf.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/codegen.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/arch/intel/cpuid.c.o
[  1%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/command_line_parser.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/condition_variable.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/common.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/date_time.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o
[  2%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-x86_64.S.o
[  2%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-x86_64.S.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/device_random.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/encoding.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/error.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/fifo_cache.c.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/hash_table.c.o
[  2%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-x86_64.S.o
[  2%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-ssse3-x86_64.S.o
[  2%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/lifo_cache.c.o
[  3%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/linked_hash_table.c.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-x86_64-asm.S.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-x86_64.S.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/log_channel.c.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/log_formatter.c.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/log_writer.c.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-x86_64-asm.S.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/logging.c.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/lru_cache.c.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rdrand-x86_64.S.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rsaz-avx2.S.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/math.c.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/memtrace.c.o
[  4%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/clock.c.o
[  4%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-x86_64.S.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/condition_variable.c.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/device_random.c.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/environment.c.o
[  5%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-x86_64.S.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/file.c.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/mutex.c.o
[  5%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-x86_64.S.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/process.c.o
[  5%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-x86_64.S.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/rw_lock.c.o
[  5%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont5.S.o
[  5%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/system_info.c.o
[  6%] Building ASM object crt/aws-crt-cpp/crt/aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont.S.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/thread.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/posix/time.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/priority_queue.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/process_common.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/resource_name.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/ref_count.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/promise.c.o
[  7%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/ring_buffer.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/statistics.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/string.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/task_scheduler.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/thread_scheduler.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/thread_shared.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/uuid.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-c-common/CMakeFiles/aws-c-common.dir/source/xml_parser.c.o
[  8%] Linking C static library libaws-c-common.a
[  8%] Built target aws-c-common
Scanning dependencies of target aws-checksums
Scanning dependencies of target aws-c-compression
[  8%] Building C object crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/crc.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/crc_sw.c.o
[  8%] Building C object crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o
[  9%] Building C object crt/aws-crt-cpp/crt/aws-c-compression/CMakeFiles/aws-c-compression.dir/source/compression.c.o
[  9%] Building C object crt/aws-crt-cpp/crt/aws-c-compression/CMakeFiles/aws-c-compression.dir/source/huffman.c.o
[  9%] Building C object crt/aws-crt-cpp/crt/aws-c-compression/CMakeFiles/aws-c-compression.dir/source/huffman_testing.c.o
clang-8: /home/download/llvm-8.0.1.src/lib/CodeGen/TwoAddressInstructionPass.cpp:1547: void {anonymous}::TwoAddressInstructionPass::processTiedPairs(llvm::MachineInstr*, {anonymous}::TwoAddressInstructionPass::TiedPairList&, unsigned int&): Assertion `i == DstIdx || !MI->getOperand(i).isReg() || MI->getOperand(i).getReg() != RegA' failed.
Stack dump:
0.      Program arguments: /usr/local/clang/bin/clang-8 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name crc32c_sse42_asm.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /home/letoxu/AWS-SDK/build_github/crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.gcno -resource-dir /usr/local/clang/lib/clang/8.0.1 -D ENABLE_CURL_CLIENT -D ENABLE_OPENSSL_ENCRYPTION -D HAVE_SYSCONF -D PLATFORM_LINUX -I /home/letoxu/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/include -I /home/letoxu/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-c-common/include -I /home/letoxu/AWS-SDK/build_github/crt/aws-crt-cpp/crt/aws-c-common/generated/include -D NDEBUG -internal-isystem /usr/local/include -internal-isystem /usr/local/clang/lib/clang/8.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Wall -Wstrict-prototypes -Wextra -Wno-long-long -Wgnu -Wno-gnu-zero-variadic-macro-arguments -pedantic -std=gnu99 -fdebug-compilation-dir /home/letoxu/AWS-SDK/build_github/crt/aws-crt-cpp/crt/aws-checksums -ferror-limit 19 -fmessage-length 249 -pthread -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o -x c /home/letoxu/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/source/intel/asm/crc32c_sse42_asm.c -faddrsig 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/letoxu/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-checksums/source/intel/asm/crc32c_sse42_asm.c'.
4.      Running pass 'Two-Address instruction pass' on function '@aws_checksums_crc32c_hw'
[  9%] Linking C static library libaws-c-compression.a
[  9%] Built target aws-c-compression
 #0 0x000000000236949a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/local/clang/bin/clang-8+0x236949a)
 #1 0x0000000002367379 llvm::sys::RunSignalHandlers() (/usr/local/clang/bin/clang-8+0x2367379)
 #2 0x00000000023674b5 SignalHandler(int) (/usr/local/clang/bin/clang-8+0x23674b5)
 #3 0x00007f1fe7781630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007f1fe62f43d7 __GI_raise (/lib64/libc.so.6+0x363d7)
 #5 0x00007f1fe62f5ac8 __GI_abort (/lib64/libc.so.6+0x37ac8)
 #6 0x00007f1fe62ed1a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f1fe62ed252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000001c5bcd6 (anonymous namespace)::TwoAddressInstructionPass::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/clang/bin/clang-8+0x1c5bcd6)
 #9 0x0000000001adf55e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.88) (/usr/local/clang/bin/clang-8+0x1adf55e)
#10 0x0000000001e3e41f llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/clang/bin/clang-8+0x1e3e41f)
#11 0x0000000001e3e64c llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/clang/bin/clang-8+0x1e3e64c)
#12 0x0000000001e3ed63 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/clang/bin/clang-8+0x1e3ed63)
#13 0x000000000252edfd (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/usr/local/clang/bin/clang-8+0x252edfd)
#14 0x0000000002531066 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/usr/local/clang/bin/clang-8+0x2531066)
#15 0x0000000002e8311e clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/local/clang/bin/clang-8+0x2e8311e)
#16 0x000000000375f26c clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/clang/bin/clang-8+0x375f26c)
#17 0x0000000002e8273f clang::CodeGenAction::ExecuteAction() (/usr/local/clang/bin/clang-8+0x2e8273f)
#18 0x00000000029b49f6 clang::FrontendAction::Execute() (/usr/local/clang/bin/clang-8+0x29b49f6)
#19 0x000000000298708e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/clang/bin/clang-8+0x298708e)
#20 0x0000000002a60e4a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/clang/bin/clang-8+0x2a60e4a)
#21 0x000000000098b0c8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/clang/bin/clang-8+0x98b0c8)
#22 0x00000000008fa3b8 main (/usr/local/clang/bin/clang-8+0x8fa3b8)
#23 0x00007f1fe62e0555 __libc_start_main (/lib64/libc.so.6+0x22555)
#24 0x00000000009859f9 _start (/usr/local/clang/bin/clang-8+0x9859f9)
clang-8: error: unable to execute command: Aborted
clang-8: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 8.0.1 (tags/RELEASE_801/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang/bin
clang-8: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang-8: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-8: note: diagnostic msg: /tmp/crc32c_sse42_asm-5406ef.c
clang-8: note: diagnostic msg: /tmp/crc32c_sse42_asm-5406ef.sh
clang-8: note: diagnostic msg: 

********************
make[2]: *** [crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/source/intel/asm/crc32c_sse42_asm.c.o] Error 254
make[1]: *** [crt/aws-crt-cpp/crt/aws-checksums/CMakeFiles/aws-checksums.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  9%] Built target fipsmodule
make: *** [all] Error 2
NullEmpty commented 3 years ago
compile result gcc + libstdc++ clang + libc++ clang + libc++ (comment aws_checksums_crc32c_hw) clang
main
1.7.9 / /
gfanini commented 3 years ago

excuse me for my ignorance, delete my comment if irrelevant, what is a known working way to compile aws sdk cpp on debian 9, with either gcc 8.2, or clang 3.8, that I have compiler errors, can you point me to a sure fire working method kindly, I read here release 1.7.9 for starters would work say ? are there any prebuilt apt packages anywhere ?

[ 12%] Building C object crt/aws-crt-cpp/crt/s2n/CMakeFiles/s2n.dir/pq-crypto/bike_r3/gf2x_mul_portable.c.o /tmp/ccNKjwKY.s: Assembler messages: /tmp/ccNKjwKY.s:21: Error: operand type mismatch for `vpclmulqdq'

lych4o commented 3 years ago

excuse me for my ignorance, delete my comment if irrelevant, what is a known working way to compile aws sdk cpp on debian 9, with either gcc 8.2, or clang 3.8, that I have compiler errors, can you point me to a sure fire working method kindly, I read here release 1.7.9 for starters would work say ? are there any prebuilt apt packages anywhere ?

[ 12%] Building C object crt/aws-crt-cpp/crt/s2n/CMakeFiles/s2n.dir/pq-crypto/bike_r3/gf2x_mul_portable.c.o /tmp/ccNKjwKY.s: Assembler messages: /tmp/ccNKjwKY.s:21: Error: operand type mismatch for `vpclmulqdq'

I've encountered the same problem and solved by use a lower version gcc which is gcc 6.3.0. I think it may because the calling interface of some assembly intrinsic functions has changed in new version gcc.

KaibaLopez commented 2 years ago

Hi, Going thtough these old issues and I am no longer seeing this error happen on the newer version of the sdk+crt, can you verify that this is still happening?