--- cpp/src/Glacier2/CryptPermissionsVerifierI.cpp.orig	2014-07-15 16:06:05.470463382 +0200
+++ cpp/src/Glacier2/CryptPermissionsVerifierI.cpp	2014-07-15 16:09:18.591065235 +0200
@@ -8,6 +8,7 @@
 // **********************************************************************
 
 #include <Glacier2/CryptPermissionsVerifierI.h>
+#include <openssl/opensslv.h>
 #include <openssl/des.h>
 
 using namespace std;
--- cpp/src/IceGrid/RegistryI.cpp.orig	2014-07-15 16:10:22.943599009 +0200
+++ cpp/src/IceGrid/RegistryI.cpp	2014-07-15 16:10:40.950748368 +0200
@@ -40,6 +40,7 @@
 
 #include <fstream>
 
+#include <openssl/opensslv.h>
 #include <openssl/des.h> // For crypt() passwords
 
 #include <sys/types.h>
--- cpp/src/IceSSL/Instance.cpp.orig	2014-07-15 15:59:44.430302828 +0200
+++ cpp/src/IceSSL/Instance.cpp	2014-07-15 16:02:59.590921603 +0200
@@ -274,12 +274,14 @@ IceSSL::Instance::Instance(const Communi
             string entropyDaemon = properties->getProperty("IceSSL.EntropyDaemon");
             if(!entropyDaemon.empty())
             {
+#ifdef HAVE_SSL_RAND_EGD
                 if(RAND_egd(entropyDaemon.c_str()) <= 0)
                 {
                     PluginInitializationException ex(__FILE__, __LINE__);
                     ex.reason = "IceSSL: EGD failure using file " + entropyDaemon;
                     throw ex;
                 }
+#endif
             }
 #endif
             if(!RAND_status())
