Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.3.5
    • 3.3.3, 3.3.4
    • None
    • None
    • Linux x86_64 with gcc 13.x from Fedora rawhide
    • 0
    • SDK06, SDK08

    Description

      Lools like libcouchbase 3.3.3 is not ready to be compiled with that gcc and compil fails with:

      [  2%] Building CXX object CMakeFiles/couchbase_utils-cxx.dir/src/strcodecs/base64.cc.o
      /usr/bin/g++ -DHAVE_DTRACE -DLIBCOUCHBASE_INTERNAL=1 -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3 -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/contrib/cbsasl/include -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/contrib -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/include -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/x86_64-redhat-linux-gnu/generated -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/contrib/lcb-jsoncpp -I/home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/contrib/snappy -isystem /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/contrib/HdrHistogram_c/src -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -ggdb3 -pthread -DNDEBUG -fno-strict-aliasing -ggdb3 -pthread -fPIC -Wall -Wextra -pedantic -fdiagnostics-show-option -Wformat -Wno-strict-aliasing -Winit-self -Wno-missing-field-initializers -Wno-variadic-macros -Wshadow -Wunused -Wpedantic -Wlogical-op -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long -Wredundant-decls -DHAVE_VISIBILITY -fvisibility=hidden -std=gnu++11 -MD -MT CMakeFiles/couchbase_utils-cxx.dir/src/strcodecs/base64.cc.o -MF CMakeFiles/couchbase_utils-cxx.dir/src/strcodecs/base64.cc.o.d -o CMakeFiles/couchbase_utils-cxx.dir/src/strcodecs/base64.cc.o -c /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:33:19: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
         33 | static const std::uint8_t code[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
            |                   ^~~~~~~
            |                   wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:43:35: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
         43 | static int encode_rest(const std::uint8_t *s, std::uint8_t *d, std::size_t num)
            |                                   ^~~~~~~
            |                                   wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:43:52: error: ‘std::uint8_t’ has not been declared
         43 | static int encode_rest(const std::uint8_t *s, std::uint8_t *d, std::size_t num)
            |                                                    ^~~~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: In function ‘int encode_rest(const int*, int*, std::size_t)’:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:45:10: error: ‘uint32_t’ is not a member of ‘std’; did you mean ‘wint_t’?
         45 |     std::uint32_t val;
            |          ^~~~~~~~
            |          wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:49:13: error: ‘val’ was not declared in this scope
         49 |             val = (std::uint32_t)((*s << 16) | (*(s + 1) << 8));
            |             ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:49:25: error: ‘uint32_t’ is not a member of ‘std’; did you mean ‘wint_t’?
         49 |             val = (std::uint32_t)((*s << 16) | (*(s + 1) << 8));
            |                         ^~~~~~~~
            |                         wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:52:25: error: ‘uint32_t’ is not a member of ‘std’; did you mean ‘wint_t’?
         52 |             val = (std::uint32_t)((*s << 16));
            |                         ^~~~~~~~
            |                         wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:61:16: error: ‘code’ was not declared in this scope
         61 |         d[2] = code[(val >> 6) & 63];
            |                ^~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:61:22: error: ‘val’ was not declared in this scope
         61 |         d[2] = code[(val >> 6) & 63];
            |                      ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:66:12: error: ‘code’ was not declared in this scope
         66 |     d[1] = code[(val >> 12) & 63];
            |            ^~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:66:18: error: ‘val’ was not declared in this scope
         66 |     d[1] = code[(val >> 12) & 63];
            |                  ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: At global scope:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:78:38: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
         78 | static int encode_triplet(const std::uint8_t *s, std::uint8_t *d)
            |                                      ^~~~~~~
            |                                      wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:78:55: error: ‘std::uint8_t’ has not been declared
         78 | static int encode_triplet(const std::uint8_t *s, std::uint8_t *d)
            |                                                       ^~~~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: In function ‘int encode_triplet(const int*, int*)’:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:80:33: error: ‘uint32_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
         80 |     auto val = static_cast<std::uint32_t>((*s << 16) | (*(s + 1) << 8) | (*(s + 2)));
            |                                 ^~~~~~~~
            |                                 wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:81:12: error: ‘code’ was not declared in this scope
         81 |     d[3] = code[val & 63];
            |            ^~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: In function ‘int lcb_base64_encode(const char*, std::size_t, char*, std::size_t)’:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:101:29: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
        101 |     const auto *in = (const std::uint8_t *)src;
            |                             ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:101:23: error: expected primary-expression before ‘const
        101 |     const auto *in = (const std::uint8_t *)src;
            |                       ^~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:101:23: error: expected ‘)’ before ‘const
        101 |     const auto *in = (const std::uint8_t *)src;
            |                      ~^~~~~
            |                       )
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:102:23: error: ‘uint8_t’ is not a member of ‘std’; did you mean ‘wint_t’?
        102 |     auto *out = (std::uint8_t *)dst;
            |                       ^~~~~~~
            |                       wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:102:32: error: expected primary-expression before ‘)’ token
        102 |     auto *out = (std::uint8_t *)dst;
            |                                ^
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:96:35: warning: unused parameter ‘src’ [-Wunused-parameter]
         96 | int lcb_base64_encode(const char *src, std::size_t len, char *dst, std::size_t sz)
            |                       ~~~~~~~~~~~~^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:96:63: warning: unused parameter ‘dst’ [-Wunused-parameter]
         96 | int lcb_base64_encode(const char *src, std::size_t len, char *dst, std::size_t sz)
            |                                                         ~~~~~~^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: In function ‘void lcb_base64_encode_iov(lcb_IOV*, unsigned int, unsigned int, char**, int*)’:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:160:27: error: ‘uint8_t’ is not a member of ‘std’; did you mean ‘wint_t’?
        160 |         auto *out = (std::uint8_t *)ptr;
            |                           ^~~~~~~
            |                           wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:160:36: error: expected primary-expression before ‘)’ token
        160 |         auto *out = (std::uint8_t *)ptr;
            |                                    ^
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:162:14: error: ‘uint8_t’ is not a member of ‘std’; did you mean ‘wint_t’?
        162 |         std::uint8_t triplet[3];
            |              ^~~~~~~
            |              wint_t
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:175:17: error: ‘triplet’ was not declared in this scope; did you mean ‘triplets’?
        175 |                 triplet[tt] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                 ^~~~~~~
            |                 triplets
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:175:39: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
        175 |                 triplet[tt] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                       ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:175:33: error: expected primary-expression before ‘const
        175 |                 triplet[tt] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                 ^~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:175:33: error: expected ‘)’ before ‘const
        175 |                 triplet[tt] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                ~^~~~~
            |                                 )
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:175:78: error: expected ‘)’ before ‘;’ token
        175 |                 triplet[tt] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                               ~                                              ^
            |                                                                              )
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:177:28: error: ‘triplet’ was not declared in this scope; did you mean ‘triplets’?
        177 |             encode_triplet(triplet, out);
            |                            ^~~~~~~
            |                            triplets
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:182:25: error: ‘triplet’ was not declared in this scope; did you mean ‘triplets’?
        182 |             std::memset(triplet, 0, sizeof(triplet));
            |                         ^~~~~~~
            |                         triplets
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:188:39: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
        188 |                 triplet[ii] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                       ^~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:188:33: error: expected primary-expression before ‘const
        188 |                 triplet[ii] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                 ^~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:188:33: error: expected ‘)’ before ‘const
        188 |                 triplet[ii] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                                ~^~~~~
            |                                 )
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:188:78: error: expected ‘)’ before ‘;’ token
        188 |                 triplet[ii] = ((const std::uint8_t *)iov[io].iov_base)[iop++];
            |                               ~                                              ^
            |                                                                              )
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc: At global scope:
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:78:12: warning: ‘int encode_triplet(const int*, int*)’ defined but not used [-Wunused-function]
         78 | static int encode_triplet(const std::uint8_t *s, std::uint8_t *d)
            |            ^~~~~~~~~~~~~~
      /home/tkloczko/rpmbuild/BUILD/libcouchbase-3.3.3/src/strcodecs/base64.cc:43:12: warning: ‘int encode_rest(const int*, int*, std::size_t)’ defined but not used [-Wunused-function]
         43 | static int encode_rest(const std::uint8_t *s, std::uint8_t *d, std::size_t num)
            |            ^~~~~~~~~~~

       

       

      Attachments

        For Gerrit Dashboard: CCBC-1585
        # Subject Branch Project Status CR V

        Activity

          People

            avsej Sergey Avseyev
            kloczek Tomasz Kloczko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty