couchbase / couchbase/couchbase-php-client

Build for 32-bits broken

Open
#240 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
7
Forks
13
Avg merge
6d 10m
Merged PRs (30d)
2

Description

Upgrade to 4.4.0 version is blocked for Alpinelinux as x86/armv7/armhf fails (other arches are 64-bits and passing)

See https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/90885/pipelines

Meaningful part of build logs

/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx:448:36: error: right shift count >= width of type [-Werror=shift-count-overflow]
  448 |     static_cast<std::byte>((length >> 56) & 0xff),
      |                             ~~~~~~~^~~~~
/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx:449:36: error: right shift count >= width of type [-Werror=shift-count-overflow]
  449 |     static_cast<std::byte>((length >> 48) & 0xff),
      |                             ~~~~~~~^~~~~
/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx:450:36: error: right shift count >= width of type [-Werror=shift-count-overflow]
  450 |     static_cast<std::byte>((length >> 40) & 0xff),
      |                             ~~~~~~~^~~~~
/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx:451:36: error: right shift count >= width of type [-Werror=shift-count-overflow]
  451 |     static_cast<std::byte>((length >> 32) & 0xff),
      |                             ~~~~~~~^~~~~
/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx: In function 'couchbase::core::{anonymous}::decode_status couchbase::core::{anonymous}::decode_frame(gsl::span<std::byte>, bool)':
/builds/alpine/aports/community/php84-pecl-couchbase/src/couchbase-4.4.0/src/deps/couchbase-cxx-client/core/websocket_codec.cxx:522:37: error: conversion from 'uint64_t' {aka 'long long unsigned int'} to 'std::size_t' {aka 'unsigned int'} may change value [-Werror=conversion]
  522 |       payload_length = decode_uint64(data.subspan(2, sizeof(std::uint64_t)));
      |                        ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced Alpine pipeline and inspect src/deps/couchbase-cxx-client/core/websocket_codec.cxx at lines 448-451 and 522, where the 32-bit build errors occur. Use the x86, armv7, and armhf pipeline results to verify completion; done means the PHP 8.4 Couchbase package builds successfully for those architectures.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, php
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.