Closed Penaz91 closed 1 year ago
Hmm, sounds like either you're compiling and linking against different versions of OpenSSL, or perhaps not linking against it at all, for some reason.
Can you try it again with make VERBOSE=1
? That should show the exact command used for linking, and should reveal how it thinks it's linking against OpenSSL.
Sure thing, I'm attaching the output of make VERBOSE=1
.
Hmm, it links correctly against ssl and crypto. Looking more closely, all linker errors are in td itself. Is it possible that compiling libtd was faulty somehow?
Let's zoom in on an arbitrary, particular error:
/usr/bin/ld: /usr/lib/libtdutils.a(crypto.cpp.o): in function `td::pbkdf2_sha256(td::Slice, td::Slice, int, td::MutableSlice)':
(.text._ZN2td13pbkdf2_sha256ENS_5SliceES0_iNS_12MutableSliceE+0x70): undefined reference to `EVP_MD_size'
However, there is no EVP_MD_size
symbol in any library, and it does not seem to exist in any OpenSSL version. (Not to be confused with EVP_MD_get_size
, which does exist.) Instead it should have been a macro: https://github.com/openssl/openssl/blob/33290c534750f031cbf384f0ad8c05555a16f726/include/openssl/evp.h#L546
My best guess is that while compiling tdutils, the compiler somehow silently(?) failed to load the correct headers, and permitted function calls to undefined functions (e.g. EVP_MD_size
). This makes sense, since all the other "missing symbols" are also macros of the same header (e.g. EVP_CIPHER_nid and EVP_PKEY_base_id).
Suggestion: Recompile td, read the compilation log, watch out for any weird warnings especially about implicit function definitions. If you somehow had to hand-supply OpenSSL paths to td, that's a likely source for errors.
It seems that recompiling tdlib did the trick!
Now the plugin compiles and links correctly and shows in pidgin's plugin list. I had to log into my accounts again but everything seems to work well!
Thank you very much!
Greetings.
There seems to be an issue when compiling tdlib-purple on my machine. Here's the traceback:
Further information
OS: Artix Linux (ArchLinux Derivative) Using aur package
telegram-tdlib-purple-git
LibPurple/Pidgin version: 2.14.10-1 OpenSSL Version: 3.0.7-2The version from the
telegram-tdlib-purple-minimal-git
aur package seems to link fine, but it doesn't show in Pidgin's plugin list.If any more information is needed, don't hesitate to ask. Thank you for this plugin!