-
Notifications
You must be signed in to change notification settings - Fork 150
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
[nemo-gtkhash] Compilation Error #149
Comments
It builds fine on my mashine. Could you try to install |
I already have this dependency installed, as wall as these others (with the -dev where applicable): |
In my pull request I added a cleaned up version of the compilation files. Do you mind testing that version? You can find it here. |
Exactly the same error with your sources. |
Could you please upload your buildlog from your last build with my updated sources? I will compare it to mine and try to find differences. |
I am no autoconf expert but if I run the same command you do, I get the same error. dh_auto_configure -- \
--with-gtk=3.0 \
--disable-gtkhash \
--enable-mhash \
--enable-gcrypt \
--enable-nemo
./configure --build=x86_64-linux-gnu \
--prefix=/usr \
--includedir=\${prefix}/include \
--mandir=\${prefix}/share/man \
--infodir=\${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=\${prefix}/lib/x86_64-linux-gnu \
--libexecdir=\${prefix}/lib/x86_64-linux-gnu \
--disable-maintainer-mode \
--disable-dependency-tracking \
--with-gtk=3.0 \
--disable-gtkhash \
--enable-mhash \
--enable-gcrypt \
--enable-nemo |
Your configure options mask the issue, because of the lack of "--enable-libcrypto" option; that's why the file "hash-lib-crypto.c" is not compiled so you don't encounter the error. Now , something is strange with your automatically generated configure options: you build a package called 'nemo-gtkhash" and you "--disable-gtkhash".... With the following options, most of the hash functions are supported with very few exceptions and everything compiles correctly:
Supported Hash Functions:MD2 nettle,mhash With your configure options, no SHA3 hash features are supported. Everything works fine in the properties/Digests tab; I haven't figured out what the HMAC button is for, since entering the official hash on its left side automatically checks out without the need to press any more button (except the hash of course to compute the digests). |
BTW, I compiled linux-mint sources in https://github.com/linuxmint/nemo-extensions. |
Okay, a few things. #ifndef OPENSSL_DOING_MAKEDEPEND
#define OPENSSL_DOING_MAKEDEPEND
#endif
#include <openssl/evp.h> This forces Secondly, I will change the default build options for
I didn't understand what you meant by
Could you please elaborate it for me? Finally, with my changes, I have the following hash functions support now:
|
Okay, I just noticed that overriding the EVP setting isn't a good idea as it will build, though it won't run on systems with such an OpenSSL version where mdc2 was deactivated. So I plead for removing MDC2 support completely from this extension. #include <openssl/evp.h>
#ifdef OPENSSL_NO_MDC2
#define EVP_mdc2() NULL
#endif |
As for your question about the HMAC button: HMACs are used for generating a keyed version of a Hash. I was unfamiliar with it, too, but Stackexchange helped. |
|
When building with libcrypto enabled, we can encounter an error due to OpenSSL is often built with MDC2 algorithm support disabled. To avoid it, we now check for OpenSSL's OPENSSL_NO_MDC2 being set and if so, MDC2 is disabled by returning NULL instead of the actual function call. Besides, nettle support is now enabled by default. This adds SHA3 hashing. This fixes linuxmint#149
I wouldn't add the path information as this is often done by the building system and/or the maintainer, if I get it right. For users building their own packages (like you do), the option is still available by passing the paths to You are right for libcrypto, I disabled it by default. I updated my fork, my pull request and my PPA according to these changes. Thank you for your help! Concerning the build process, the Debian way would be to run On this machine, the HMAC button works as expected: Enabling it activates a password text field where one can enter a passphrase for the HMAC hash calculation. |
OK, you're welcome and thanks for your contribution. |
I tried to "dpkg-buildpackage" nemo, but there's an issue during compilation: linuxmint/nemo#1079 |
@jean-christophe-manciot I don't know about the error when compiling nemo because neither am I a developer on that nor do I compile nemo myself. I use the stock nemo from Rosa's package repository. With that, nemo-gtkhash (and other extensions) work great. |
Good for you, there's no equivalent to Rosa in Ubuntu world as far as I know. That's why I started to publicly offer some useful up-to-date packages on GitHub. I do such a thing because all packages available on Ubuntu official repositories and Launchpad are outdated. |
No hard feelings, please ;) |
I'm surprised you say that, I feel none of these. So we're cool ;) Sorry if I sounded otherwise. |
leads to:
CC hash_la-hash-lib-crypto.lo
hash-lib-crypto.c: In function 'gtkhash_hash_lib_crypto_get_md':
hash-lib-crypto.c:54:11: error: implicit declaration of function 'EVP_mdc2' [-Werror=implicit-function-declaration]
return EVP_mdc2();
^
hash-lib-crypto.c:54:11: warning: return makes pointer from integer without a cast [-Wint-conversion]
Whole log:
nemo-gtkhash compilation error.txt
The text was updated successfully, but these errors were encountered: