Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails on compilation stage of http_client_filter.cc on Centos 7 (with python3) #1

Open
Ernest0x opened this issue Dec 16, 2020 · 1 comment

Comments

@Ernest0x
Copy link

Versions:

  • CentOS Linux release 7.7.1908 (Core)
  • cvpi version 2020.2.3-base-4-g56c15e7 go1.13.6

python3 setup.py install fails when compiling http_client_filter.cc.
Here is the part of the output with the compiler error:

src/core/ext/filters/http/client/http_client_filter.cc: In function ‘grpc_core::ManagedMemorySlice user_agent_from_args(const grpc_channel_args*, const char*)’:
src/core/ext/filters/http/client/http_client_filter.cc:546:58: error: no matching function for call to ‘StrFormat(const char [19], const char*, const char [6], const char*&)’
                       GPR_PLATFORM_STRING, transport_name));
                                                          ^
src/core/ext/filters/http/client/http_client_filter.cc:546:58: note: candidate is:
In file included from src/core/ext/filters/http/client/http_client_filter.cc:27:0:
third_party/abseil-cpp/absl/strings/str_format.h:338:34: note: template<class ... Args> std::string absl::lts_2020_09_23::StrFormat(absl::lts_2020_09_23::FormatSpec<Args ...>&, const Args& ...)
 ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec<Args...>& format,
                                  ^
third_party/abseil-cpp/absl/strings/str_format.h:338:34: note:   template argument deduction/substitution failed:
src/core/ext/filters/http/client/http_client_filter.cc:546:58: note:   mismatched types ‘absl::lts_2020_09_23::FormatSpec<Args ...>’ and ‘const char [19]’
                       GPR_PLATFORM_STRING, transport_name));

The attached file below includes the whole output of the command:
cloudvision-compile.txt

Note that in the end there is a secondary problem that has to do with python 3 (the ModuleNotFoundError: No module named 'commands' error), but I guess that is only triggered by the gcc error above.

@screamingliu
Copy link

should aupdate gcc version to 4.9+

Arista-Jenkins pushed a commit that referenced this issue Sep 12, 2023
0. Currently the cloudvision-python package pins the lib
`cryptography` to 39.X.Y, as 40.0.X has breaking changes for
our use-case.

1. Also, the package is using the same signing algorithm as of
client/user's certificate. But there is no such a hard requirement.
It can use any acceptable signing algorithm.

2. `cryptography version 40.0.0 onwards, the lib has restricted the
choices of hashing algorithm to be used for signing a CSR
i.e. `CertificateSigningRequestBuilder.sign()` has restricted
the acceptable types of signing algorithm from
`typing.Optional[hashes.HashAlgorithm]` to
`typing.Optional[_AllowedHashTypes]` where `_AllowedHashTypes`
is a subset of `hashes.HashAlgorithm`.

3. The backward incompatible change #2 in `cryptography` along with
the hard requirement as per #1 together blocks the cloudvision-python
package from upgrading the `cryptography` lib.

Thus, this change is required to remove the hard requirement of using
the same signing algorithm as of client/user's certificate. And decided
to use SHA256 as a preferred choice.

Fixes: BUG857524, BUG792700
Change-Id: I9c033f34b6aee7da24871afbeff7e3a3425503a7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants