首页 > 解决方案 > 为什么在 Linux Mint 上构建 gnome-seahorse 失败

问题描述

我正在运行 Mint 19.2

海马不是我的朋友。默认版本不理解椭圆曲线。Flaptpack 版本无法生成 ssh 密钥,因为它无法找到ssh-keygen. 所以我决定去获取我自己的最新稳定版本。我做了一个git clone并开始了meson满足依赖关系的构建过程。

meson build我跑了这一步之后ninja -C build。Thar 似乎编译正常,但链接失败:

Compilation succeeded - 2 warning(s)
[150/150] Linking target src/seahorse.
FAILED: src/seahorse 
cc  -o src/seahorse 'src/25a6634@@seahorse@exe/meson-generated_.._.._data_seahorse-resources.c.o' 'src/25a6634@@seahorse@exe/meson-generated_.._seahorse-shell-search-provider-generated.c.o' 'src/25a6634@@seahorse@exe/meson-generated_application.c.o' 'src/25a6634@@seahorse@exe/meson-generated_import-dialog.c.o' 'src/25a6634@@seahorse@exe/meson-generated_key-manager.c.o' 'src/25a6634@@seahorse@exe/meson-generated_main.c.o' 'src/25a6634@@seahorse@exe/meson-generated_search-provider.c.o' 'src/25a6634@@seahorse@exe/meson-generated_sidebar.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group libegg/liblibeggdatetime.a libegg/liblibtreemultidnd.a common/libcommon.a libseahorse/liblibseahorse.a gkr/libseahorse-gkr.a ssh/libseahorse-ssh.a pgp/libseahorse-pgp.a pkcs11/libseahorse-pkcs11.a /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so -Wl,--export-dynamic /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so -pthread /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libsecret-1.so /usr/lib/x86_64-linux-gnu/libgcr-ui-3.so /usr/lib/x86_64-linux-gnu/libgcr-base-3.so /usr/lib/x86_64-linux-gnu/libgck-1.so /usr/lib/x86_64-linux-gnu/libp11-kit.so /usr/lib/x86_64-linux-gnu/libpwquality.so -lgpgme -lldap -llber /usr/lib/x86_64-linux-gnu/libsoup-2.4.so /usr/lib/x86_64-linux-gnu/libavahi-common.so /usr/lib/x86_64-linux-gnu/libavahi-client.so /usr/lib/x86_64-linux-gnu/libavahi-glib.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../libegg:$ORIGIN/../common:$ORIGIN/../libseahorse:$ORIGIN/../gkr:$ORIGIN/../ssh:$ORIGIN/../pgp:$ORIGIN/../pkcs11' -Wl,-rpath-link,/home/me/tmp/seahorse/build/libegg -Wl,-rpath-link,/home/me/tmp/seahorse/build/common -Wl,-rpath-link,/home/me/tmp/seahorse/build/libseahorse -Wl,-rpath-link,/home/me/tmp/seahorse/build/gkr -Wl,-rpath-link,/home/me/tmp/seahorse/build/ssh -Wl,-rpath-link,/home/me/tmp/seahorse/build/pgp -Wl,-rpath-link,/home/me/tmp/seahorse/build/pkcs11
pgp/libseahorse-pgp.a(seahorse-gpgme-key-op.c.o): In function `seahorse_gpgme_key_op_make_primary_async':
/home/me/tmp/seahorse/build/../pgp/seahorse-gpgme-key-op.c:1939: undefined reference to `G_SOURCE_FUNC'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

我确定它在某处的路径中缺少一个库。我尝试在 git repo 中提交问题,但无法登录。

标签: gnomeninjameson-build

解决方案


G_SOURCE_FUNC已在 GLib 2.58 中添加,因此您的本地 GLib 版本可能不够新。


推荐阅读