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

参考文献

4

No comments

If you have a fediverse account, you can comment on this article from your own instance. Search https://hackers.pub/ap/articles/019710d3-135e-733e-a8b7-dde62aa0f698 on your instance and reply to it.