awslabs / aws-c-http

C99 implementation of the HTTP/1.1 and HTTP/2 specifications
Apache License 2.0
136 stars 42 forks source link

Missing includes. #470

Closed laramiel closed 4 months ago

laramiel commented 5 months ago

Describe the bug

include/aws/http/private/http2_stream_manager_impl.h

is missing the following includes:

#include <include/aws/io/channel.h>
#include <aws/http/request_response.h>

Expected Behavior

N/A

Current Behavior

N/A

Reproduction Steps

Add BUILD.bazel and try to build.

Possible Solution

No response

Additional Information/Context

No response

aws-c-http version used

079ccfd253a2ac24f6c1998881911876f8d1c631

Compiler and version used

clang

Operating System and version

linux

bretambrose commented 5 months ago

Neither of these are missing. aws-c-io is a dependency of aws-c-http and must be built/installed first. The other header file is right here in the repo.

We only support cmake-based builds with these repositories. If bazil has cmake support, then there is a problem with the config you've set up.

laramiel commented 5 months ago

Sorry, my include paths were vendored from my attempt in tensorstore to use relative headers. Updated.

The above includes are missing in the sense that include/aws/http/private/http2_stream_manager_impl.h needs to #include the symbols which are used in the file.

#include <include/aws/io/channel.h> is necessary for the symbol aws_channel_task, used here:

https://github.com/awslabs/aws-c-http/blob/079ccfd253a2ac24f6c1998881911876f8d1c631/include/aws/http/private/http2_stream_manager_impl.h#L37

bretambrose commented 5 months ago

Like I said, the issue is how you're configuring bazel or whether or not it properly supports cmake-based builds.

graebm commented 5 months ago

These are private headers. They're in a private/ subfolder and they're not installed by our cmake build scripts.

We actually have checks that ensure all of our public and installed headers have the necessary #includes, but we don't impose these checks on private headers.

I don't know anything about Bazil, can you tell it to ignore these files?