Qt 起動エラー: シンボル検索エラー: /lib/libQt5XcbQpa.so.5: 未定義のシンボル: FT_Get_Font_Format

Qt 起動エラー: シンボル検索エラー: /lib/libQt5XcbQpa.so.5: 未定義のシンボル: FT_Get_Font_Format

次のPythonコードを実行すると、

import numpy as np
import matplotlib.pyplot as plt

a = np.arange(3)
plt.pyplot(a, a)
plt.show

機械印刷:

[test001@login01 ~]$ python3 draw.py
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-test001'
python3: symbol lookup error: /beegfs/home/test001/.local/lib/python3.11/site-packages/PyQt5/Qt5/plugins/platforms/..//lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format

私は次の方法を試しましたQt 起動エラー: シンボル検索エラー: libQt5XcbQpa.so.5: 未定義のシンボル: FT_Get_Font_Formatですが、うまくいきません。

[test001@login01 ~]$ readelf -s /lib64/libfreetype.so.6 | grep -i font_format
   406: 0000000000020960    43 FUNC    GLOBAL DEFAULT   11 FT_Get_X11_Font_Format

freetype-2.8、2.10、2.12もテストされていますが、出力は同じで、FT_Get_Font_Formatが見つかりません。

この場合、どうすればいいでしょうか?

Centos version: CentOS Linux release 7.5.1804 (Core)
Qt5 version: 5.15.2
PyQt5 version: 5.15.9

答え1

PyQtはFreeType関数を使用しますFT_Get_Font_Format。 これはいい。

しかし、freetypeライブラリlibfreetype.so.6は、FT_Get_X11_フォントフォーマットこの関数は非推奨なので、これは良くありません。

自分のシステムをチェックしたところ、新しい FT_Get_Font_Format 関数を提供する同じファイル libfreetype.so.6 がありました。freetype 6.17.4 を使用しています。

したがって、次の FreeType バージョンが必要です:

6 <= version < 6.17.4

OS にすべてのアップデートをインストールします。OS が新しい freetype ライブラリを提供していない場合は、matplotlib をダウングレードするだけです。

現在の matplotlib をアンインストールするには、これを実行します。

pip uninstall matplotlib

これを実行すると、利用可能なすべての matplotlib バージョンが一覧表示されます。

pip index versions matplotlib

これを実行して、matplotlib の特定のバージョンをインストールします。

pip install matplotlib==3.6.2

3.6.2 から始めて、これが機能しない場合はアンインストールし、1 つ下のバージョンの 3.6.1 に下げてください。スクリプトが正常に実行されるまでこれを繰り返します。

答え2

実際、理由は の freetype がfreetype-2.8完全freetype-2.10にコンパイルされていないためです。 バージョンはfreetype-2.4によって提供されたままですyum install freetype

以下のリンクを使用すると、FT_GET_Font_Format関数を見つけることができます。

export LD_LIBRARY_PATH=/usr/lib/zlib/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/libpng/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=software/freetype/lib:$LD_LIBRARY_PATH

関連情報