_capella.txt

SharkeyやMisskeyをFedora 42にインストールするときに発生する問題に対処する

目次

    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に記載されているように、必要な依存関係をインストールします。

    Terminal window
    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のソースコードをダウンロードし、解凍した後、ソースディレクトリに移動します。

    Terminal window
    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++をビルドするために必要な依存関係をインストールします。

    Terminal window
    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

    次に、ビルドを設定します(フラグは必要に応じて変更してください)。

    Terminal window
    ../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++

    設定が完了したら、以下のコマンドでGCCをコンパイルします。

    Terminal window
    make

    より速いビルドのために複数のコアを利用するには、-jフラグを使用します。

    Terminal window
    make -j6

    コンパイルが完了したら、新しいGCCバージョンをインストールします。

    Terminal window
    sudo make install

    コンパイルしたGCCのインストールを確認するには、以下のコマンドを使用します。

    Terminal window
    gcc-13.3 -v

    ステップ3: Misskey/Sharkeyのインストールコマンドを修正

    最後に、SharkeyとMisskeyを正常にインストールするために、インストールコマンドを以下のように修正します。

    Terminal window
    CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile

    これらの調整を行うことで、MisskeyとSharkeyを問題なくインストールできるはずです。Fediverseを楽しんでください!

    *テキストを自然にするためにLLMをある程度使用しました。投稿前に確認しましたが、不自然な部分があればお知らせください。

    参考文献