Error when compiling AWS S3 plugin

Hi
Im trying to compile AWS S3 plugin from source by following https://book.orthanc-server.com/plugins/object-storage.html#aws-s3-plugin

I compiled aws c++ sdk successfully and when i try to compile the aws plugin , cmake is giving me an error (cmake version 3.26.0)

username@device:~/build/aws$ cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake …/…/orthanc-object-storage/Aws
CMake Deprecation Warning at CMakeLists.txt:18 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 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.

Updating the Orthanc source repository using Mercurial
pulling from https://hg.orthanc-server.com/orthanc/
searching for changes
no changes found
Setting branch of the Orthanc repository to: Orthanc-1.8.2
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
JsonCpp include dir: /usr/include/jsoncpp
JsonCpp major version: 1
Switching to C++11 standard in gcc, as version of JsonCpp is >= 1.0.0
CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake:240 (if):
Policy CMP0057 is not set: Support new IN_LIST if() operator. Run “cmake
–help-policy CMP0057” for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

IN_LIST will be interpreted as an operator when the policy is set to NEW.
Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
/home/username/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package)
/opt/cmake/cmake-3.26.0-linux-x86_64/share/cmake-3.26/Modules/FindBoost.cmake:594 (find_package)
/home/username/build/aws/orthanc/OrthancFramework/Resources/CMake/BoostConfiguration.cmake:24 (include)
/home/username/build/aws/orthanc/OrthancFramework/Resources/CMake/OrthancFrameworkConfiguration.cmake:480 (include)
CMakeLists.txt:87 (include)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake:240 (if):
if given arguments:

“ALL” “IN_LIST” “Boost_FIND_COMPONENTS”

Unknown arguments specified
Call Stack (most recent call first):
/home/username/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package)
/opt/cmake/cmake-3.26.0-linux-x86_64/share/cmake-3.26/Modules/FindBoost.cmake:594 (find_package)
/home/username/build/aws/orthanc/OrthancFramework/Resources/CMake/BoostConfiguration.cmake:24 (include)
/home/username/build/aws/orthanc/OrthancFramework/Resources/CMake/OrthancFrameworkConfiguration.cmake:480 (include)
CMakeLists.txt:87 (include)

– Configuring incomplete, errors occurred!

Hi Jaris,

I have seen this kind of errors while compiling the Azure and Google plugins. Here’s the fix I’m using the Docker images build:

upgrade cmake minimum version to fix a Boost_FIND_COMPONENTS error: https://stackoverflow.com/questions/62930429/c-avro-cmake-failed

sed -i ‘s/cmake_minimum_required(VERSION 2.8)/cmake_minimum_required(VERSION 3.3)/g’ /sources/orthanc-object-storage/Azure/CMakeLists.txt

todo: remove

sed -i ‘s/cryptopp-static/cryptopp::cryptopp/g’ /sources/orthanc-object-storage/Azure/CMakeLists.txt

Not sure the cryptopp stuff is relevant for you.

HTH,

Alain