View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006506 | GNUnet | gnunet-setup | public | 2020-08-21 19:01 | 2020-10-29 11:13 |
Reporter | mateusz | Assigned To | schanzen | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.13.3 | Fixed in Version | 0.13.3 | ||
Summary | 0006506: making gnunet fails: undefined reference to `crypto_scalarmult_ed25519_base_noclamp' | ||||
Description | I git cloned the master branch of gnunet today and tried to build it. 'bootstrap.sh' and configure executed fine, but then my attempt to create actual executables failed: /usr/bin/ld: .libs/crypto_ecc.o: in function `GNUNET_CRYPTO_ecdsa_key_get_public': /home/mateusz/svn/gnunet/gnunet/src/util/crypto_ecc.c:181: undefined reference to `crypto_scalarmult_ed25519_base_noclamp' /usr/bin/ld: /home/mateusz/svn/gnunet/gnunet/src/util/crypto_ecc.c:181: undefined reference to `crypto_scalarmult_ed25519_base_noclamp' clang-9.0: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [Makefile:1735: libgnunetutil.la] Error 1 I have libsodium installed, in version 1.0.16 (stock version as shipped by OpenSUSE 15.1). Looking for 'crypto_scalarmult_ed25519' in my local headers yelds no result for 'crypto_scalarmult_ed25519_base_noclamp': mateusz@mateusz:/usr/include/sodium> grep 'crypto_scalarmult_ed25519' *.h crypto_scalarmult_ed25519.h:#ifndef crypto_scalarmult_ed25519_H crypto_scalarmult_ed25519.h:#define crypto_scalarmult_ed25519_H crypto_scalarmult_ed25519.h:#define crypto_scalarmult_ed25519_BYTES 32U crypto_scalarmult_ed25519.h:size_t crypto_scalarmult_ed25519_bytes(void); crypto_scalarmult_ed25519.h:#define crypto_scalarmult_ed25519_SCALARBYTES 32U crypto_scalarmult_ed25519.h:size_t crypto_scalarmult_ed25519_scalarbytes(void); crypto_scalarmult_ed25519.h:int crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n, crypto_scalarmult_ed25519.h:int crypto_scalarmult_ed25519_base(unsigned char *q, const unsigned char *n); Is libsodium expected to be in some specific version? If so, the configure script did not tell anything about it. | ||||
Steps To Reproduce | Performed on OpenSUSE 15.1 using the latest gnunet's git master: ./bootstrap.sh ./configure make | ||||
Additional Information | The exact same problem occurs also with the gnunet 0.13.2 branch (as downloaded today from the gnunet project's website). | ||||
Tags | No tags attached. | ||||
|
I pulled libsodium 1.0.18 from a third-party repo and here is the function that was missing: mateusz@mateusz:/usr/include/sodium> grep 'crypto_scalarmult_ed25519_base' * crypto_scalarmult_ed25519.h:int crypto_scalarmult_ed25519_base(unsigned char *q, const unsigned char *n) crypto_scalarmult_ed25519.h:int crypto_scalarmult_ed25519_base_noclamp(unsigned char *q, const unsigned char *n) Having libsodium v1.0.18, gnunet builds fine. It appears that the crypto_scalarmult_ed25519_base_noclamp() function appeared either in libsodium 1.0.17 or 1.0.18. Perhaps gnunet's configure script could check for this? libsodium 1.0.16 is the one shipped even with openSUSE 15.2 (that is, the latest stable release, published last month). |
|
Fixed in 538277ed8..35d7c1f88 |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-08-21 19:01 | mateusz | New Issue | |
2020-08-21 19:36 | mateusz | Note Added: 0016693 | |
2020-09-04 20:19 | schanzen | Assigned To | => schanzen |
2020-09-04 20:19 | schanzen | Status | new => resolved |
2020-09-04 20:19 | schanzen | Resolution | open => fixed |
2020-09-04 20:19 | schanzen | Fixed in Version | => 0.13.3 |
2020-09-04 20:19 | schanzen | Note Added: 0016860 | |
2020-09-04 21:21 | schanzen | Target Version | => 0.13.3 |
2020-10-29 11:13 | schanzen | Status | resolved => closed |