Closed
Description
Describe the bug
I am trying to do a fresh install of the latest SDK version, on Ubuntu 24.04, with the following script:
version_to_install="1.11.471"
apt update
apt install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev -y
cd ../build
if [ -d "aws-sdk-cpp" ]; then
rm -rf aws-sdk-cpp
fi
git clone --recurse-submodules -j8 https://github.com/aws/aws-sdk-cpp --branch $version_to_install
mkdir aws_sdk_build
cd aws_sdk_build
# DLEGACY_BUILD=OFF shouldn't be needed for v1.12+
cmake ../aws-sdk-cpp \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=/usr/local/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DBUILD_ONLY="core;iot;s3;dynamodb" \
-DLEGACY_BUILD=ON
# -DLEGACY_BUILD=OFF
make
make install
cd ..
rm aws-sdk-cpp -rf
rm aws_sdk_build -rf
I get several CMake warnings like this:
CMake Warning at crt/aws-crt-cpp/CMakeLists.txt:284 (add_library):
Cannot generate a safe runtime search path for target aws-crt-cpp because
there is a cycle in the constraint graph:
dir 0 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-mqtt]
dir 1 is [/root/gateway/build/aws_sdk_build/lib]
dir 6 must precede it due to runtime library [libs2n.so.1]
dir 2 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-s3]
dir 3 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-auth]
dir 4 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-http]
dir 5 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-io]
dir 6 is [/usr/local/lib]
dir 0 must precede it due to runtime library [libaws-c-mqtt.so.1.0.0]
dir 1 must precede it due to runtime library [libaws-c-event-stream.so.1.0.0]
dir 2 must precede it due to runtime library [libaws-c-s3.so.0unstable]
dir 3 must precede it due to runtime library [libaws-c-auth.so.1.0.0]
dir 4 must precede it due to runtime library [libaws-c-http.so.1.0.0]
dir 5 must precede it due to runtime library [libaws-c-io.so.1.0.0]
dir 7 must precede it due to runtime library [libaws-c-compression.so.1.0.0]
dir 8 must precede it due to runtime library [libaws-c-cal.so.1.0.0]
dir 9 must precede it due to runtime library [libaws-c-sdkutils.so.1.0.0]
dir 10 must precede it due to runtime library [libaws-checksums.so.1.0.0]
dir 11 must precede it due to runtime library [libaws-c-common.so.1]
dir 7 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-compression]
dir 8 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-cal]
dir 9 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-sdkutils]
dir 10 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-checksums]
dir 11 is [/root/gateway/build/aws_sdk_build/crt/aws-crt-cpp/crt/aws-c-common]
Some of these libraries may not be found correctly.
And then, the build eventually fails with errors:
[ 21%] Building C object crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/source/s2n/s2n_tls_channel_handler.c.o
/root/gateway/build/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-c-io/source/s2n/s2n_tls_channel_handler.c:26:14: fatal error: s2n/unstable/cleanup.h: No such file or directory
26 | # include <s2n/unstable/cleanup.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/build.make:356: crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/source/s2n/s2n_tls_channel_handler.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:691: crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
[ 12%] Built target aws-c-common
[ 13%] Built target aws-checksums
[ 15%] Built target aws-c-sdkutils
[ 17%] Built target aws-c-cal
[ 18%] Building C object crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/source/s2n/s2n_tls_channel_handler.c.o
/root/gateway/build/aws-sdk-cpp/crt/aws-crt-cpp/crt/aws-c-io/source/s2n/s2n_tls_channel_handler.c:26:14: fatal error: s2n/unstable/cleanup.h: No such file or directory
26 | # include <s2n/unstable/cleanup.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/build.make:356: crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/source/s2n/s2n_tls_channel_handler.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:691: crt/aws-crt-cpp/crt/aws-c-io/CMakeFiles/aws-c-io.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
The full build output is attached.
Is there something I should be doing differently to build and install?
Thanks.
Regression Issue
- Select this option if this issue appears to be a regression.
Expected Behavior
Build finishes successfully.
Current Behavior
Build errors out.
Reproduction Steps
Run the script given at the top on Ubuntu 24.04. May need to change the ../build
path.
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
1.11.471
Compiler and Version used
13.2.0
Operating System and version
Ubuntu 24.04.1
Edit: Attaching log
aws_build_failure.log