AWS SDK C++: cannot run S3 example - amazon-s3

We are trying to build AWS SDK for C++ (only s3 module) on EC2 server, using setup and thread
It compiled fine, including s3 with tests
Next, I tried to compile the
example
But, CMake is throwing the errors (as the error message shows, the file /usr/local/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake does not exist). How do I fix it?
ubuntu#ip:~/awslog$ mkdir sdk_example_builds
ubuntu#ip:~/awslog$ cd sdk_example_builds/
ubuntu#ip:~/awslog/sdk_example_builds$ mkdir s3 && cd s3
ubuntu#ip:~/awslog/sdk_example_builds/s3$ sudo cmake /home/ubuntu/awslog/aws-doc-sdk-examples/cpp/example_code/s3
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
CMake Error at /usr/local/lib/aws-c-common/cmake/aws-c-common-config.cmake:7 (include):
include could not find load file:
/usr/local/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package)
/usr/local/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake:2 (find_dependency)
/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package)
/usr/local/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake:2 (find_dependency)
/usr/local/lib/cmake/AWSSDK/AWSSDKConfig.cmake:292 (find_package)
CMakeLists.txt:15 (find_package)
CMake Error at /usr/local/lib/aws-checksums/cmake/aws-checksums-config.cmake:4 (include):
include could not find load file:
/usr/local/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package)
/usr/local/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake:3 (find_dependency)
/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package)
/usr/local/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake:2 (find_dependency)
/usr/local/lib/cmake/AWSSDK/AWSSDKConfig.cmake:292 (find_package)
CMakeLists.txt:15 (find_package)
CMake Error at /usr/local/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake:8 (include):
include could not find load file:
/usr/local/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package)
/usr/local/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake:2 (find_dependency)
/usr/local/lib/cmake/AWSSDK/AWSSDKConfig.cmake:292 (find_package)
CMakeLists.txt:15 (find_package)
-- Found aws-cpp-sdk-core
-- Try finding aws-cpp-sdk-s3
-- Found aws-cpp-sdk-s3
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/awslog/sdk_example_builds/s3/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/awslog/sdk_example_builds/s3/CMakeFiles/CMakeError.log".

From your log it is quite clear that the error is related to the cmake type of library.
In your case cmake is being called with a default to the static library; you can see that by checking at the path it is looking for:
/usr/local/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake
In order to be able to compile your examples, just run CMake telling it to link over shared libraries as follows:
sudo cmake /home/ubuntu/awslog/aws-doc-sdk-examples/cpp/example_code/s3 -DBUILD_SHARED_LIBS=ON
And then
cd /home/ubuntu/awslog/aws-doc-sdk-examples/cpp/example_code/s3
sudo make
You're done!
P.S.: it is not clear why the AWS SDK library does not include the static cmake files (probably something in your configuration is missing). However this way you can used the shared library version of the SDK and you will be able to work the same way.

Related

an error about liridar config concering Cmake

CMake Error at /opt/ros/melodic/share/pcl_ros/cmake/pcl_rosConfig.cmake:113 (message):
Project 'pcl_ros' specifies '/usr/include/eigen3' as an include dir, which
is not found. It does neither exist as an absolute directory nor in
'${{prefix}}//usr/include/eigen3'. Check the issue tracker
'https://github.com/ros-perception/perception_pcl/issues' and consider
creating a ticket if the problem has not been reported yet.
Call Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
lslidar_c32/lslidar_c32_driver/CMakeLists.txt:22 (find_package)
find how to solve the error

CMake Error setting up the environment for OpenRoad

I tried to set up the environment for OpenRoad. I just followed the steps from the offical websites https://openroad.readthedocs.io/en/latest/user/BuildLocally.html. I got a problem when trying to run the instruction ./build_openroad.sh --local
The problem is :
CMake Error at /opt/homebrew/Cellar/cmake/3.24.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES)
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.24.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.24.2/share/cmake/Modules/FindOpenMP.cmake:545 (find_package_handle_standard_args)
src/drt/CMakeLists.txt:48 (find_package)

CMake can not find Boost Python

I'm trying to build 3d party application using CMake 3.17.5.
I have boost installed by vcpkg (on Windows). I checked I have boost-python installed by vcpkg.
I got the following error in CMake GUI:
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find Boost (missing: python) (found version "1.75.0")
Call Stack (most recent call first):
C:/Program Files (x86)/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/CMake/share/cmake-3.17/Modules/FindBoost.cmake:2166 (find_package_handle_standard_args)
cmake/modules/FindUSDMonolithic.cmake:71 (find_package)
cmake/defaults/Packages.cmake:34 (find_package)
CMakeLists.txt:11 (include)
I tried setting CMAKE_TOOLCHAIN_FILE to vcpkg.cmake but it didn't hepled.
NOTE: CMake DOES find boost after I set Boost_INCLUDE_DIR to vcpkg/installed/x64-windows/include/ but it still have this weird error. Without setting this variable CMake can not find boost at all and error is different
You should find Python first:
find_package(Python3 REQUIRED COMPONENTS Development)
target_include_directories(MyTarget SYSTEM PRIVATE ${Python3_INCLUDE_DIRS})
find_package(Boost REQUIRED COMPONENTS python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
target_link_libraries(MyTarget PRIVATE Boost::python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})

Can't build AWS SDK CPP examples. Cmake can't find AWSSDKConfig.cmake, but the file is present on my disk

I installed the AWS SDK for C++ on my Ubuntu box using the instructions given in the Amazon doc:
https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/setup.html
I was able to compile the SDK without error.
Then I followed the README for building the examples, for C++. when I run Cmake I get the following error:
CMake Error at CMakeLists.txt:15 (find_package):
By not providing "FindAWSSDK.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "AWSSDK", but
CMake did not find one.
Could not find a package configuration file provided by "AWSSDK" with any
of the following names:
AWSSDKConfig.cmake
awssdk-config.cmake
Add the installation prefix of "AWSSDK" to CMAKE_PREFIX_PATH or set
"AWSSDK_DIR" to a directory containing one of the above files. If "AWSSDK"
provides a separate development package or SDK, be sure it has been
installed.
However AWSSDKConfig.cmake is definitely on my system:
$ locate AWSSDKConfig.cmake
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake
So I tried adding the path to the configuration file directly using the CMake CMAKE_PREFIX_PATH command line argument:
sudo cmake -D CMAKE_PREFIX_PATH="/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/" /home/robert/Documents/GitHub/aws-doc-sdk-examples/cpp/example_code/dynamodb
But then I get this set of error messages:
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:27 (include):
include could not find load file:
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfigVersion.cmake
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:29 (include):
include could not find load file:
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/platformDeps.cmake
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:86 (message):
AWS SDK for C++ is missing, please install it first
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/robert/Documents/GitHub/aws-doc-sdk-examples-build/dynamodb/CMakeFiles/CMakeOutput.log".
I figure I must be doing something fundamentally wrong at this point. How can I make this work?

Do I have FREETYPE_LIBRARY installed?

I ran a cmake command and got the following error:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindFreetype.cmake:156 (find_package_handle_standard_args)
CMakeLists.txt:125 (find_package)
This thread says that I need to specify the .so file corresponding to FREETYPE_LIBRARY and the path to FREETYPE_INCLUDE_DIRS.
My question is how do I know if I have FREETYPE_LIBRARY installed and how to get these paths ?
My OS is Fedora release 28 (Twenty Eight).