How to Resolve undefined reference to 'RAND_egd'Confusion about linking boost library while...
Stop and Take a Breath!
Why does nature favour the Laplacian?
How to pronounce 'C++' in Spanish
Why does processed meat contain preservatives, while canned fish needs not?
Repelling Blast: Must targets always be pushed back?
Who is the Umpire in this picture?
How did Captain America manage to do this?
How can I practically buy stocks?
Does Gita support doctrine of eternal samsara?
Phrase for the opposite of "foolproof"
How to type a section sign (§) into the Minecraft client
Examples of subgroups where it's nontrivial to show closure under multiplication?
Will tsunami waves travel forever if there was no land?
How to reduce LED flash rate (frequency)
Why was Germany not as successful as other Europeans in establishing overseas colonies?
Can someone publish a story that happened to you?
How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?
Contradiction proof for inequality of P and NP?
Please, smoke with good manners
Examples of non trivial equivalence relations , I mean equivalence relations without the expression " same ... as" in their definition?
How exactly does Hawking radiation decrease the mass of black holes?
Controversial area of mathematics
a sore throat vs a strep throat vs strep throat
What does KSP mean?
How to Resolve undefined reference to 'RAND_egd'
Confusion about linking boost library while compilationApache2 'Server' header reports wrong openSSL versionUpgrading openssl from 0.9.8j-0.50.1 to 1.0.2a on SLES11SP3Cannot run ssh after upgrade to OpenSSL 1.0.1pHaving problems with make and opencvSSL related “undefined reference” on libssh2 and libcurl libs when compiling C on OpenSUSEphp: compiling with openssl, ftp, ldap, curl support in debian gnu/linuxError in installation of older version of opensslSSL cipher error with curlCharm crypto library - unit tests failing with undefined symbol: BN_is_negative
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
Debian 8 Jessie, OpenSSL version 1.1.0,
cURL version: 7.50.2
I am trying to build curl on a Linux Debian system. All stages go well up until trying to build with make
command. The linking stage fails with the following error below:
CC ../lib/curl-nonblock.o
CC ../lib/curl-warnless.o
CCLD curl
../lib/.libs/libcurl.so: undefined reference to 'RAND_egd'
collect2: error: ld returned 1 exit status
Makefile:771: recipe for target 'curl' failed
make[2]: *** [curl] Error 1
RAND_egd function is part of the OpenSSL library so I ran ldd on the libcurl.so file to make sure the OpenSSL library is found, and it is judging by the output from ldd below.
linux-vdso.so.1 (0x00007ffceb5a1000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007ff9ffc05000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff9ff9d1000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007ff9ff7a8000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007ff9ff53a000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007ff9ff0af000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff9feea0000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff9fec4e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff9fea33000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff9fe688000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007ff9fe3a6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff9fe1a2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff9fdf85000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff9fdd6e000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff9fdb52000)
libgnutls-deb0.so.28 => /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 (0x00007ff9fd833000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa0009e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007ff9fd621000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff9fd3db000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff9fd1c7000)
libnettle.so.4 => /usr/lib/x86_64-linux-gnu/libnettle.so.4 (0x00007ff9fcf95000)
libhogweed.so.2 => /usr/lib/x86_64-linux-gnu/libhogweed.so.2 (0x00007ff9fcd66000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff9fcae3000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff9fc8db000)
So the library is there. I also checked the rand.h file in the include directory of OpenSSL and of course the function declaration is there, so it should be defined in the library. How can I find the cause of and resolve this error?
compiling gcc curl openssl ld
bumped to the homepage by Community♦ 1 hour ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
Debian 8 Jessie, OpenSSL version 1.1.0,
cURL version: 7.50.2
I am trying to build curl on a Linux Debian system. All stages go well up until trying to build with make
command. The linking stage fails with the following error below:
CC ../lib/curl-nonblock.o
CC ../lib/curl-warnless.o
CCLD curl
../lib/.libs/libcurl.so: undefined reference to 'RAND_egd'
collect2: error: ld returned 1 exit status
Makefile:771: recipe for target 'curl' failed
make[2]: *** [curl] Error 1
RAND_egd function is part of the OpenSSL library so I ran ldd on the libcurl.so file to make sure the OpenSSL library is found, and it is judging by the output from ldd below.
linux-vdso.so.1 (0x00007ffceb5a1000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007ff9ffc05000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff9ff9d1000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007ff9ff7a8000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007ff9ff53a000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007ff9ff0af000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff9feea0000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff9fec4e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff9fea33000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff9fe688000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007ff9fe3a6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff9fe1a2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff9fdf85000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff9fdd6e000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff9fdb52000)
libgnutls-deb0.so.28 => /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 (0x00007ff9fd833000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa0009e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007ff9fd621000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff9fd3db000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff9fd1c7000)
libnettle.so.4 => /usr/lib/x86_64-linux-gnu/libnettle.so.4 (0x00007ff9fcf95000)
libhogweed.so.2 => /usr/lib/x86_64-linux-gnu/libhogweed.so.2 (0x00007ff9fcd66000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff9fcae3000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff9fc8db000)
So the library is there. I also checked the rand.h file in the include directory of OpenSSL and of course the function declaration is there, so it should be defined in the library. How can I find the cause of and resolve this error?
compiling gcc curl openssl ld
bumped to the homepage by Community♦ 1 hour ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
1
When configure is run, it checks forRAND_egd
and it then generateslib/curl_config.h
with a#define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?
– Daniel Stenberg
Nov 8 '16 at 14:47
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17
add a comment |
Debian 8 Jessie, OpenSSL version 1.1.0,
cURL version: 7.50.2
I am trying to build curl on a Linux Debian system. All stages go well up until trying to build with make
command. The linking stage fails with the following error below:
CC ../lib/curl-nonblock.o
CC ../lib/curl-warnless.o
CCLD curl
../lib/.libs/libcurl.so: undefined reference to 'RAND_egd'
collect2: error: ld returned 1 exit status
Makefile:771: recipe for target 'curl' failed
make[2]: *** [curl] Error 1
RAND_egd function is part of the OpenSSL library so I ran ldd on the libcurl.so file to make sure the OpenSSL library is found, and it is judging by the output from ldd below.
linux-vdso.so.1 (0x00007ffceb5a1000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007ff9ffc05000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff9ff9d1000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007ff9ff7a8000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007ff9ff53a000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007ff9ff0af000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff9feea0000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff9fec4e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff9fea33000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff9fe688000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007ff9fe3a6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff9fe1a2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff9fdf85000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff9fdd6e000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff9fdb52000)
libgnutls-deb0.so.28 => /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 (0x00007ff9fd833000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa0009e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007ff9fd621000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff9fd3db000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff9fd1c7000)
libnettle.so.4 => /usr/lib/x86_64-linux-gnu/libnettle.so.4 (0x00007ff9fcf95000)
libhogweed.so.2 => /usr/lib/x86_64-linux-gnu/libhogweed.so.2 (0x00007ff9fcd66000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff9fcae3000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff9fc8db000)
So the library is there. I also checked the rand.h file in the include directory of OpenSSL and of course the function declaration is there, so it should be defined in the library. How can I find the cause of and resolve this error?
compiling gcc curl openssl ld
Debian 8 Jessie, OpenSSL version 1.1.0,
cURL version: 7.50.2
I am trying to build curl on a Linux Debian system. All stages go well up until trying to build with make
command. The linking stage fails with the following error below:
CC ../lib/curl-nonblock.o
CC ../lib/curl-warnless.o
CCLD curl
../lib/.libs/libcurl.so: undefined reference to 'RAND_egd'
collect2: error: ld returned 1 exit status
Makefile:771: recipe for target 'curl' failed
make[2]: *** [curl] Error 1
RAND_egd function is part of the OpenSSL library so I ran ldd on the libcurl.so file to make sure the OpenSSL library is found, and it is judging by the output from ldd below.
linux-vdso.so.1 (0x00007ffceb5a1000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007ff9ffc05000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff9ff9d1000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007ff9ff7a8000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007ff9ff53a000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007ff9ff0af000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff9feea0000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff9fec4e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff9fea33000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff9fe688000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007ff9fe3a6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff9fe1a2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff9fdf85000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff9fdd6e000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff9fdb52000)
libgnutls-deb0.so.28 => /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 (0x00007ff9fd833000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa0009e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007ff9fd621000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff9fd3db000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff9fd1c7000)
libnettle.so.4 => /usr/lib/x86_64-linux-gnu/libnettle.so.4 (0x00007ff9fcf95000)
libhogweed.so.2 => /usr/lib/x86_64-linux-gnu/libhogweed.so.2 (0x00007ff9fcd66000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff9fcae3000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff9fc8db000)
So the library is there. I also checked the rand.h file in the include directory of OpenSSL and of course the function declaration is there, so it should be defined in the library. How can I find the cause of and resolve this error?
compiling gcc curl openssl ld
compiling gcc curl openssl ld
asked Sep 2 '16 at 19:17
strwilsstrwils
1113
1113
bumped to the homepage by Community♦ 1 hour ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 1 hour ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
1
When configure is run, it checks forRAND_egd
and it then generateslib/curl_config.h
with a#define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?
– Daniel Stenberg
Nov 8 '16 at 14:47
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17
add a comment |
1
When configure is run, it checks forRAND_egd
and it then generateslib/curl_config.h
with a#define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?
– Daniel Stenberg
Nov 8 '16 at 14:47
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17
1
1
When configure is run, it checks for
RAND_egd
and it then generates lib/curl_config.h
with a #define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?– Daniel Stenberg
Nov 8 '16 at 14:47
When configure is run, it checks for
RAND_egd
and it then generates lib/curl_config.h
with a #define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?– Daniel Stenberg
Nov 8 '16 at 14:47
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17
add a comment |
1 Answer
1
active
oldest
votes
How to Resolve undefined reference to 'RAND_egd'
I believe you should now call RAND_add_egd
. Also see simplifying rand_egd API on the openssl-dev mailing list.
The code you are compiling should have a guard for OpenSSL 1.1.0. Maybe something like:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Daniel is usually very good about keeping up with OpenSSL. It sound like you are getting a distribution's down-level version of something.
According to cURL Issue 763, cURL first added support for openssl-1.1.0-dev at least in April, 2016. The full change log is at cURL Changelog.
Related, you should probably move on from cURL 7.50.2. It has 12 known vulnerabilities. It looks like 7.51.0 was released on November 2, 2016.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f307524%2fhow-to-resolve-undefined-reference-to-rand-egd%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
How to Resolve undefined reference to 'RAND_egd'
I believe you should now call RAND_add_egd
. Also see simplifying rand_egd API on the openssl-dev mailing list.
The code you are compiling should have a guard for OpenSSL 1.1.0. Maybe something like:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Daniel is usually very good about keeping up with OpenSSL. It sound like you are getting a distribution's down-level version of something.
According to cURL Issue 763, cURL first added support for openssl-1.1.0-dev at least in April, 2016. The full change log is at cURL Changelog.
Related, you should probably move on from cURL 7.50.2. It has 12 known vulnerabilities. It looks like 7.51.0 was released on November 2, 2016.
add a comment |
How to Resolve undefined reference to 'RAND_egd'
I believe you should now call RAND_add_egd
. Also see simplifying rand_egd API on the openssl-dev mailing list.
The code you are compiling should have a guard for OpenSSL 1.1.0. Maybe something like:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Daniel is usually very good about keeping up with OpenSSL. It sound like you are getting a distribution's down-level version of something.
According to cURL Issue 763, cURL first added support for openssl-1.1.0-dev at least in April, 2016. The full change log is at cURL Changelog.
Related, you should probably move on from cURL 7.50.2. It has 12 known vulnerabilities. It looks like 7.51.0 was released on November 2, 2016.
add a comment |
How to Resolve undefined reference to 'RAND_egd'
I believe you should now call RAND_add_egd
. Also see simplifying rand_egd API on the openssl-dev mailing list.
The code you are compiling should have a guard for OpenSSL 1.1.0. Maybe something like:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Daniel is usually very good about keeping up with OpenSSL. It sound like you are getting a distribution's down-level version of something.
According to cURL Issue 763, cURL first added support for openssl-1.1.0-dev at least in April, 2016. The full change log is at cURL Changelog.
Related, you should probably move on from cURL 7.50.2. It has 12 known vulnerabilities. It looks like 7.51.0 was released on November 2, 2016.
How to Resolve undefined reference to 'RAND_egd'
I believe you should now call RAND_add_egd
. Also see simplifying rand_egd API on the openssl-dev mailing list.
The code you are compiling should have a guard for OpenSSL 1.1.0. Maybe something like:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Daniel is usually very good about keeping up with OpenSSL. It sound like you are getting a distribution's down-level version of something.
According to cURL Issue 763, cURL first added support for openssl-1.1.0-dev at least in April, 2016. The full change log is at cURL Changelog.
Related, you should probably move on from cURL 7.50.2. It has 12 known vulnerabilities. It looks like 7.51.0 was released on November 2, 2016.
edited Nov 8 '16 at 12:23
answered Nov 8 '16 at 12:17
jwwjww
1,66132668
1,66132668
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f307524%2fhow-to-resolve-undefined-reference-to-rand-egd%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
When configure is run, it checks for
RAND_egd
and it then generateslib/curl_config.h
with a#define HAVE_RAND_EGD
if it was indeed found. In a standard build of OpenSSL >= 1.1.0, that function is not present. So I don't know how you ended up with that define present in the curl build, but not in openssl. Multiple OpenSSL installs that confuse matters?– Daniel Stenberg
Nov 8 '16 at 14:47
@DanielStenberg thank you and it is an honor to receive an answer from you. After trying to figure out the problem, I could not so I cleaned and built again, and that solved the problem. I did indeed have another earlier version of OpenSSL installed.
– strwils
Nov 10 '16 at 3:17