Sharkey/Misskey を Fedora 42 にインストールする方法(FreeBSD 向けの修正付き)

甘瀬ここあ @cocoa@hackers.pub
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 を使用しました。投稿前にある程度確認しましたが、不自然な部分がありましたらお知らせください。