Compile fails with dependency on aws-c-auth private headers

This issue has been created since 2021-10-15.

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

Describe the bug
Error when compiling.

SDK version number
1.9.95 and later.

Platform/OS/Hardware/Device
Amazon Linux 2. GNU Guix.

To Reproduce (observed behavior)
When building aws-sdk-cpp with "-DBUILD_DEPS=OFF" (having installed the dependent AWS libraries separately) the build fails due to a dependency on the aws-c-auth private libraries which are not installed to the system.

The compile error is:
/tmp/guix-build-aws-sdk-cpp-1.9.121.drv-0/aws-sdk-cpp-1.9.121-checkout/aws-cpp-sdk-core-tests/aws/auth/AWSAuthSignerTest.cpp:17:10: fatal error: aws/auth/private/aws_signing.h: No such file or directory #include <aws/auth/private/aws_signing.h>

The change was made on 2021-06-04 in commit 23cca02.

Expected behavior
Clean build.

KaibaLopez wrote this answer on 2021-10-15

Hi @greghogan ,
Can you walk me through how you installed the dependencies separately so I can better reproduce this issue?

github-actions[bot] wrote this answer on 2021-10-18

Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.

daniloegea wrote this answer on 2021-10-23

Got the same error here. The solution is to get https://github.com/awslabs/aws-c-auth to install the include/aws/auth/private directory, which seems wrong (well, it's called private for a reason I guess...).

Patching aws-c-auth with this will do the tricky, but again, it seems wrong.

--- CMakeLists.txt.orig 2021-10-23 10:33:37 UTC
+++ CMakeLists.txt
@@ -111,6 +111,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS
 aws_prepare_shared_lib_exports(${PROJECT_NAME})
 
 install(FILES ${AWS_AUTH_ROOT_HEADERS} DESTINATION "include/aws/auth" COMPONENT Development)
+install(FILES ${AWS_AUTH_PRIVATE_HEADERS} DESTINATION "include/aws/auth/private" COMPONENT Development)
 
 if (BUILD_SHARED_LIBS)
    set (TARGET_DIR "shared")

I've installed all the aws-sdk-cpp's dependencies separately (-DBUILD_DEPS=OFF).

KaibaLopez wrote this answer on 2021-11-16

@daniloegea ,
Hey and thanks for the workaround! I never got an answer from op but could you tell me how you installed the deps ? Like, can you walk me through your process step by step so I can repro and maybe push this as a change if necessary?

daniloegea wrote this answer on 2021-11-16

Hi @KaibaLopez, I didn't do anything special really.

I simply built all the aws-sdk-cpp dependencies (these ones https://github.com/awslabs/aws-crt-cpp/blob/main/.gitmodules) and installed at /usr/local.

Then I built aws-sdk-cpp with -DBUILD_DEPS=OFF so it will look for dependencies installed in the system. The compilation failed due to the error described above. The solution was to patch aws-c-auth to install the private headers.

It was part of the work to update the aws-sdk-cpp in the FreeBSD ports tree https://cgit.freebsd.org/ports/tree/devel/aws-sdk-cpp/Makefile

I built everything on FreeBSD.

More Details About Repo
Owner Name aws
Repo Name aws-sdk-cpp
Full Name aws/aws-sdk-cpp
Language C++
Created Date 2015-05-11
Updated Date 2022-09-28
Star Count 1559
Watcher Count 145
Fork Count 914
Issue Count 143

YOU MAY BE INTERESTED

Issue Title Created Date Comment Count Updated Date
web nowplaying doesn't work with Opera GX? 0 2021-12-13 2022-09-27
Binary Test Files for Frames are Difficult to Create 0 2022-04-14 2022-09-15
Support watching the file system 16 2022-02-06 2022-09-28
BA.2.9 sublineage with Orf8:A65V (466 seqs) Denmark, Belgium, Germany 1 2022-04-18 2022-08-07
Failed to assign a backend No backend with GPU available. Would you like to use a runtime with no accelerator? 2 2021-12-19 2022-08-25
Calculation of surface terms could be faster 0 2021-12-02 2022-09-27
Sketch 中不显示Flutter示例代码 2 2022-01-05 2022-09-21
专项漏洞扫描中一个poc执行出错就结束扫描 2 2022-04-15 2022-09-28
New indicator suggestion(Clenow momentum) 0 2022-01-02 2022-09-06
Accourdance problem 3 2021-01-26 2022-09-22
api server issue ..timing out 0 2022-01-13 2022-09-19
モバイルで地図を表示時にコピーライトが3つ表示される 3 2021-09-05 2021-12-16
Using wesnoth.sides.create() causes the client to segfault 3 2021-10-26 2022-07-18
Refactor filter classes into another package? 2 2021-09-09 2022-09-19
cannot find module 'ngx-mask' when running jest on angular 13 9 2021-12-22 2022-09-25
Bug: extended classes miss selector 1 2022-04-22 2022-09-26
Recipe for using with a lighthouse plugin results in an error 0 2022-09-18 2022-09-23
disk space is growing every day 8 2022-02-07 2022-09-29
Dj Streaming Error [docker station container, Ffmpeg_decoder related] 7 2022-02-06 2022-09-14
Make dropdown in data-view and in survey-creation reachable from keyboard 0 2021-06-10 2022-09-29
fix(derive): Allow aliased Option with ArgEnum 0 2021-12-10 2022-07-17
Indexer payment transaction duplicates 'closing-amount' as 'close-amount' 1 2022-04-22 2022-08-10
Integrate BlockProcessor. 1 2022-04-21 2022-07-22
Save and replace the original file 1 2022-05-19 2022-09-26
enable or disable learning (analytics) dashboard via greenlight 1 2022-01-11 2022-09-23
OTA %mate-conflict 1 2021-10-02 2022-01-22
Bug: Flaky integration test for multi-shard aggregation 2 2022-03-29 2022-08-11
Links in `infoschema/tables.go` are not accessible 6 2022-02-28 2022-07-20
Create an `Set` store function 3 2022-04-04 2022-09-28
[BUG] add quote symbol for postgresql column 4 2022-02-14 2022-09-11
Interacting with Calendar Invites is broken 6 2022-03-16 2022-09-10
Styling: Highlighting query terms when going to a search result page 0 2022-06-16 2022-09-29
Dataverse Installation Archetypes 2 2021-02-02 2022-08-23
怎么样让连接桩随着鼠标的移出 连接桩消失 鼠标移入连接桩显现 5 2022-07-24 2022-08-27
RuntimeError: [CUDA][ERROR] /tmp/build-via-sdist-0g6f3d0w/lightseq-2.2.1/lightseq/inference/model/gpt_encoder.cc.cu(397): CUBLAS_STATUS_ARCH_MISMATCH 1 2021-12-15 2022-08-05
Keys import / export 0 2021-08-03 2021-12-31
Figure captions don't work for some text length with `(ref:...` 3 2022-06-01 2022-09-29
Change monodeploy configuration defaults to make more sense 1 2021-07-15 2022-09-27
Style issues: Agent evolution histogram and inventory flyout 0 2021-12-09 2022-09-27
[DocDB] Tablet Bootstrap: Replay `add_table`, `remove_table` and other operation types for a CHANGE_METADATA op 0 2022-07-14 2022-08-28
nak can now pass a delay argument 0 2022-01-26 2022-08-21
[BUG] Deployment monitoring metrics do not match the selected name 0 2022-09-02 2022-09-23
Failing test(s): TestAccComputeRegionNetworkEndpointGroup_regionNetworkEndpointGroupAppengineExample 3 2021-11-17 2022-09-23
Improving train/test splitters and test datasets 5 2022-06-16 2022-09-26
AttributeError: 'Quantile' object has no attribute 'loss_name' 7 2022-06-14 2022-09-26
[Transform] Deprecation warnings do not get forwarded in preview 1 2022-01-24 2022-08-07
Build Error 0 2021-06-28 2022-01-23
Template rendering is not as expected due to function "toDisplayString" 2 2022-01-08 2022-09-29
can not compile iOS app with 0.69.1 1 2022-06-30 2022-08-30
Redundant Add when using notification entites 6 2018-10-10 2022-08-28