Skip to content

Compilation of v0.10.4 broken on all platforms #528

@giordano

Description

@giordano

Describe the bug

GCC 14:

[20:36:52] /workspace/srcdir/aws-c-http/source/no_proxy.c: In function ‘s_cidr4_match’:
[20:36:52] /workspace/srcdir/aws-c-http/source/no_proxy.c:37:9: error: implicit declaration of function ‘aws_parse_ipv4_address’ [-Wimplicit-function-declaration]
[20:36:52]    37 |     if (aws_parse_ipv4_address(network_part, &check) != AWS_OP_SUCCESS) {
[20:36:52]       |         ^~~~~~~~~~~~~~~~~~~~~~
[20:36:52] /workspace/srcdir/aws-c-http/source/no_proxy.c: In function ‘s_cidr6_match’:
[20:36:52] /workspace/srcdir/aws-c-http/source/no_proxy.c:83:9: error: implicit declaration of function ‘aws_parse_ipv6_address’ [-Wimplicit-function-declaration]
[20:36:52]    83 |     if (aws_parse_ipv6_address(network_part, &check_buf) != AWS_OP_SUCCESS) {
[20:36:52]       |         ^~~~~~~~~~~~~~~~~~~~~~

You may want to read https://gcc.gnu.org/gcc-14/porting_to.html#implicit-function-declaration.

Clang 19 on macOS/FreeBSD:

[20:37:33] /workspace/srcdir/aws-c-http/source/no_proxy.c:37:9: error: call to undeclared function 'aws_parse_ipv4_address'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
[20:37:33]    37 |     if (aws_parse_ipv4_address(network_part, &check) != AWS_OP_SUCCESS) {
[20:37:33]       |         ^
[20:37:33] /workspace/srcdir/aws-c-http/source/no_proxy.c:83:9: error: call to undeclared function 'aws_parse_ipv6_address'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
[20:37:33]    83 |     if (aws_parse_ipv6_address(network_part, &check_buf) != AWS_OP_SUCCESS) {
[20:37:33]       |         ^
[20:37:33] /workspace/srcdir/aws-c-http/source/no_proxy.c:159:9: error: call to undeclared function 'aws_parse_ipv4_address'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
[20:37:33]   159 |     if (aws_parse_ipv4_address(host_str, &ipv4_addr) == AWS_OP_SUCCESS) {
[20:37:33]       |         ^
[20:37:33] /workspace/srcdir/aws-c-http/source/no_proxy.c:172:13: error: call to undeclared function 'aws_parse_ipv6_address'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
[20:37:33]   172 |         if (aws_parse_ipv6_address(host_str_copy, &ipv6_addr) == AWS_OP_SUCCESS) {
[20:37:33]       |             ^
[20:37:33] 4 errors generated.

Linking on Windows:

[20:38:37] [100%] Linking C shared library libaws-c-http.dll
[20:38:37] /usr/bin/cmake -E cmake_link_script CMakeFiles/aws-c-http.dir/link.txt --verbose=1
[20:38:37] /usr/bin/cmake -E rm -f CMakeFiles/aws-c-http.dir/objects.a
[20:38:37] /opt/bin/x86_64-w64-mingw32-libgfortran3-cxx11/x86_64-w64-mingw32-ar qc CMakeFiles/aws-c-http.dir/objects.a @CMakeFiles/aws-c-http.dir/objects1.rsp
[20:38:37] /opt/bin/x86_64-w64-mingw32-libgfortran3-cxx11/x86_64-w64-mingw32-gcc --sysroot=/opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/ -O3 -DNDEBUG -shared -o libaws-c-http.dll -Wl,--out-implib,libaws-c-http.dll.a -Wl,--major-image-version,1,--minor-image-version,0 -Wl,--whole-archive CMakeFiles/aws-c-http.dir/objects.a -Wl,--no-whole-archive @CMakeFiles/aws-c-http.dir/linklibs.rsp
[20:38:37] CMakeFiles/aws-c-http.dir/objects.a(no_proxy.c.obj):no_proxy.c:(.text+0x277): undefined reference to `aws_parse_ipv4_address'
[20:38:37] CMakeFiles/aws-c-http.dir/objects.a(no_proxy.c.obj):no_proxy.c:(.text+0x2d7): undefined reference to `aws_parse_ipv6_address'
[20:38:37] CMakeFiles/aws-c-http.dir/objects.a(no_proxy.c.obj):no_proxy.c:(.text+0x5a0): undefined reference to `aws_parse_ipv6_address'
[20:38:37] CMakeFiles/aws-c-http.dir/objects.a(no_proxy.c.obj):no_proxy.c:(.text+0x650): undefined reference to `aws_parse_ipv6_address'
[20:38:37] CMakeFiles/aws-c-http.dir/objects.a(no_proxy.c.obj):no_proxy.c:(.text+0x6e7): undefined reference to `aws_parse_ipv4_address'
[20:38:37] collect2: error: ld returned 1 exit status
[20:38:37] make[2]: *** [CMakeFiles/aws-c-http.dir/build.make:563: libaws-c-http.dll] Error 1

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

Compilation is successful

Current Behavior

Compilation fails

Reproduction Steps

Compile v0.10.4

Possible Solution

No response

Additional Information/Context

No response

aws-c-http version used

v0.10.4

Compiler and version used

Clang 19 when targeting macOS and FreeBSD, GCC 5 when targeting Windows, GCC 14 when targeting Linux

Operating System and version

All

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.needs-triageThis issue or PR still needs to be triaged.potential-regressionMarking this issue as a potential regression to be checked by team member

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions