Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: API mismatch for plugin #67

Open
ams72 opened this issue Oct 13, 2021 · 9 comments
Open

Error: API mismatch for plugin #67

ams72 opened this issue Oct 13, 2021 · 9 comments

Comments

@ams72
Copy link

ams72 commented Oct 13, 2021

I'm getting this upon opening weechat 3.0.1:

Error: API mismatch for plugin "/home/ams/.weechat/plugins/matrix.so" (current API: "20201004-01", plugin API: "20200621-01"), failed to load
 If plugin "matrix" is old/obsolete, you can delete this file.
@pvonmoradi
Copy link
Contributor

pvonmoradi commented Oct 17, 2021

If are you using the binary from the repo's CI/CD, it uses the latest stable weechat, so update your weechat. If you are building it yourself, it should already use the correct weechat API installed on your system unless you have updated Weechat but didn't rebuild the plugin.

@ElDifinitivo
Copy link

I'm still very much a novice with rust (and frankly don't have time right now to really look to see where I can help test), but I tried relying on my fork of rust-weechat with an updated API (from 20200621-01 to 20210704-01 in rust-weechat/weechat-sys/src/weechat-plugin). Building the plugin works fine, but trying to start weechat results in a crash.

I'm not sure if this belongs here or a new issue on rust-weechat, but this was the backtrace given:

(written by WeeChat 3.3, compiled on Oct 10 2021 13:19:04)
001  ??:? [function weechat_backtrace]
002  ??:? [function debug_sigsegv_cb]
003  sigaction.c:? [function __restore_rt]
004  /builddir/glibc-2.32/string/../sysdeps/x86_64/multiarch/strlen-avx2.S:96 [function __strlen_avx2]
005  /builddir/glibc-2.32/string/strdup.c:41 [function __GI___strdup]
006  ??:? [function hook_infolist]
007  <weechat::hooks::Hook as core::ops::drop::Drop>::drop
007  /home/ElDifinitivo/.cargo/git/checkouts/rust-weechat-bef6955044b5e4a2/0cd8308/weechat/src/hooks/mod.rs:41
008  core::ptr::drop_in_place<weechat::hooks::Hook>
008  /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/ptr/mod.rs:188
009  weechat::hooks::fd::FdHook<F>::new
009  /home/ElDifinitivo/.cargo/git/checkouts/rust-weechat-bef6955044b5e4a2/0cd8308/weechat/src/hooks/fd.rs:181
010  weechat::executor::WeechatExecutor::new
010  /home/ElDifinitivo/.cargo/git/checkouts/rust-weechat-bef6955044b5e4a2/0cd8308/weechat/src/executor.rs:104
011  weechat::executor::WeechatExecutor::start
011  /home/ElDifinitivo/.cargo/git/checkouts/rust-weechat-bef6955044b5e4a2/0cd8308/weechat/src/executor.rs:157
012  weechat::weechat::Weechat::init_from_ptr
012  /home/ElDifinitivo/.cargo/git/checkouts/rust-weechat-bef6955044b5e4a2/0cd8308/weechat/src/weechat.rs:?
013  /home/ElDifinitivo/bin/git/weechat-matrix-rs/src/lib.rs:281 [function weechat_plugin_init]
014  ??:? [function plugin_call_init]
015  ??:? [function plugin_auto_load]
016  ??:? [function plugin_init]
017  ??:? [function weechat_init]
018  ??:? [function main]
019  /builddir/glibc-2.32/csu/../csu/libc-start.c:314 [function __libc_start_main]
020  ??:? [function _start]

@poljar
Copy link
Owner

poljar commented Feb 1, 2022

I think that's a bug in the rust-weechat crate, something to do with the FdHook constructor.

@ddevault
Copy link

ddevault commented Apr 6, 2022

Similar problem but in this case weechat-matrix-rs is obsolete, not the other way around:

API mismatch for plugin "/home/sircmpwn/.weechat/plugins/matrix.so" (current API: "20220312-01", plugin API: "20200621-01"), failed to load

@poljar
Copy link
Owner

poljar commented Apr 6, 2022

The build will by default use the systemwide weechat-plugin.h file, otherwise a bundled one will be used. The bundled one is as you can see very outdated.

You can also point at a custom one, more info here: https://github.com/poljar/rust-weechat/tree/master/weechat-sys#choosing-the-plugin-include-file.

@ddevault
Copy link

ddevault commented Apr 6, 2022

Since the bundled one by all rights simply does not work any longer, should it be removed? An error during the build is much better than an error at runtime.

@poljar
Copy link
Owner

poljar commented Apr 6, 2022

Yeah, that might be a good idea at this point. The initial idea was to keep it up-to date with the latest Weechat release.

@carldavis
Copy link

You can also point at a custom one, more info here: https://github.com/poljar/rust-weechat/tree/master/weechat-sys#choosing-the-plugin-include-file.

Hi, this link returns a 404. Are the details still relevant and if so I would like to read through it because I believe I am having the problem described with the -dev of weechat.

@poljar
Copy link
Owner

poljar commented Nov 23, 2023

This link works https://github.com/poljar/rust-weechat/tree/master/crates/weechat-sys#choosing-the-plugin-include-file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants