firebase / firebase/firebase-cpp-sdk

[Bug] Clang 19 compilation failure

オープン
#1,684 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
needs-triage new type: question
主要言語
C++
スター
326
フォーク
137
平均マージ
3日 9時間
マージ済み PR(30日)
5

説明

### [REQUIRED] Please fill in the following fields:

* Pre-built SDK from the [website](https://firebase.google.com/download/cpp) or open-source from this repo: source
* Firebase C++ SDK version: v12.5.0
* Problematic Firebase Component: third_party - flatbuffers
* Other Firebase Components in use: Cloud, Auth, Storage, common
* Platform you are using the C++ SDK on: Ubuntu 20 to Linux Fedora 41
* Platform you are targeting: desktop, embedded Linux (Yocto)

### [REQUIRED] Please describe the issue here:

SDK fails to build with Clang 19 (Fedora 41). With minimal patch it builds fine on Clang 10 (Ubuntu 20).

This error will be repeated Nx depending on CPU count used in build:
```
In file included from /mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/src/reflection.cpp:17:
In file included from /mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/include/flatbuffers/reflection.h:25:
In file included from /mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/include/flatbuffers/reflection_generated.h:7:
/mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/include/flatbuffers/flatbuffers.h:1874:12: error: overload resolution selected deleted operator '='
1874 | buf_ = other.buf_;
| ~~~~ ^ ~~~~~~~~~~
/mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/include/flatbuffers/flatbuffers.h:1002:44: note: candidate function has been explicitly deleted
1002 | FLATBUFFERS_DELETE_FUNC(vector_downward &operator=(const vector_downward &))
| ^
/mnt/raid10/workspace-automation/app/firebase-cpp-sdk/cmake-build-release/external/src/flatbuffers/include/flatbuffers/flatbuffers.h:834:20: note: candidate function not viable: expects an rvalue for 1st argument
834 | vector_downward &operator=(vector_downward &&other) {
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```

#### Steps to reproduce:

**Fedora 41**
```
git clone https://github.com/meta-flutter/workspace-automation
cd workspace-automation
./flutter_workspace.py --enable=firebase-cpp-sdk
```

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

workspace-automation のコマンドを使用して Fedora 41 で失敗を再現し、third_party/flatbuffers/include/flatbuffers/flatbuffers.h を調査してください。特に、834、1002、1874 行付近の代入を確認してください。external/src/flatbuffers/src/reflection.cpp を経由する関連するコンパイルパスを確認し、Firebase C++ SDK が Clang 19 で deleted operator エラーなしに正常にビルドされることを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
build-system
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。