FreeBSDで起動できるように修正されたMisskeyおよびSharkey(変更がすでに適用済み)をFedora 42環境にインストールする際、以下のエラーが発生することがあります。
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
これらの問題は、使用しているGCCのバージョンに起因しているようです(参照)。以下に、Fedora 42でこれらの問題を解決する方法を示します。
ステップ1: 依存関係のインストール#
まず、Wikiに記載されているように、必要な依存関係をインストールします。
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
ステップ2: GCC/G++のコンパイル#
FedoraにバンドルされているデフォルトのGCCを使用すると、pnpm install
を実行した際にインストールが失敗する可能性があります(2025年5月27日現在)。この問題を避けるために、別のGCC/G++のバージョンをコンパイルして使用する必要があります。
まず、wgetを使用してGCCのソースコードをダウンロードし、解凍した後、ソースディレクトリに移動します。
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
次に、GCC/G++をビルドするために必要な依存関係をインストールします。
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
次に、ビルドを設定します(フラグは必要に応じて変更してください)。
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
設定が完了したら、以下のコマンドでGCCをコンパイルします。
make
より速いビルドのために複数のコアを利用するには、-j
フラグを使用します。
make -j6
コンパイルが完了したら、新しいGCCバージョンをインストールします。
sudo make install
コンパイルしたGCCのインストールを確認するには、以下のコマンドを使用します。
gcc-13.3 -v
ステップ3: Misskey/Sharkeyのインストールコマンドを修正#
最後に、SharkeyとMisskeyを正常にインストールするために、インストールコマンドを以下のように修正します。
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
これらの調整を行うことで、MisskeyとSharkeyを問題なくインストールできるはずです。Fediverseを楽しんでください!
*テキストを自然にするためにLLMをある程度使用しました。投稿前に確認しましたが、不自然な部分があればお知らせください。