> > It looks like somebody has patched your particular library 1.0.0 beta3 to > back-port something? > No idea if somebody patched openssl. My system is CentOS Linux release 6.0. Also, I guess the compilation error "invalid conversion from ‘void*’ to ‘const _STACK*" will be thrown by higher version of g++ compiler (>= 4.4 ) due to its more stricter checking. Regards, Nipun Talukdar Bangalore On Thu, Aug 9, 2012 at 7:04 PM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote: > On 10/08/2012 12:35 a.m., nipun_mlist Assam wrote: >> >> Fixed the compilation issue. I guess it is safe to use the check "#if >> OPENSSL_VERSION_NUMBER >= 0x10000003L" instead. This check is there >> in many files. I modified only certificate_db.cc. If we know the exact >> openssl version from where these lhash, safestack etc. headers got >> modified, then this check can be made more appropriate. > > > They were changed by the upstream OpenSSL project in version 1.0.0d (which > uses ABI numbers 0x10000040L to 0x1000004fL). > > It looks like somebody has patched your particular library 1.0.0 beta3 to > back-port something? > > Amos > > > >> >> Regards, >> Nipun Talukdar >> Bangalore >> India >> >> On Thu, Aug 9, 2012 at 4:39 PM, nipun_mlist Assam <nipunmlist@xxxxxxxxx> >> wrote: >>> >>> Hi Amos, >>> >>> OPENSSL_VERSION_NUMBER is 0x10000003L >>> >>> I replaced (in certificate_db.cc) >>> #if OPENSSL_VERSION_NUMBER >= 0x1000004fL >>> with >>> #if OPENSSL_VERSION_NUMBER >= 0x10000003L >>> . >>> >>> Now I get the below problem: (compiler used is g++ (GCC) 4.4.4 >>> 20100726 (Red Hat 4.4.4-13) ) >>> certificate_db.cc: In member function ‘bool >>> Ssl::CertificateDb::deleteInvalidCertificate()’: >>> certificate_db.cc:523: error: invalid conversion from ‘void*’ to ‘const >>> _STACK*’ >>> certificate_db.cc:523: error: initializing argument 1 of ‘void* >>> sk_value(const _STACK*, int)’ >>> certificate_db.cc: In member function ‘bool >>> Ssl::CertificateDb::deleteOldestCertificate()’: >>> certificate_db.cc:554: error: invalid conversion from ‘void*’ to ‘const >>> _STACK*’ >>> certificate_db.cc:554: error: initializing argument 1 of ‘void* >>> sk_value(const _STACK*, int)’ >>> certificate_db.cc: In member function ‘bool >>> Ssl::CertificateDb::deleteByHostname(const std::string&)’: >>> certificate_db.cc:571: error: invalid conversion from ‘void*’ to ‘const >>> _STACK*’ >>> certificate_db.cc:571: error: initializing argument 1 of ‘void* >>> sk_value(const _STACK*, int)’ >>> >>> >>> >>> >>> >>> On Thu, Aug 9, 2012 at 4:22 PM, Amos Jeffries <squid3@xxxxxxxxxxxxx> >>> wrote: >>>> >>>> On 09.08.2012 20:04, nipun_mlist Assam wrote: >>>>> >>>>> Hi All, >>>>> >>>>> I am facing compilation problem with squid 3.2.0.19. This fails >>>>> because of some changes in openssl header lhash.h (generally installs >>>>> in /usr/icnlude/openssl/lhash.h). >>>>> I used openssl 1.0.0 (OpenSSL 1.0.0-fips) for building squid. >>>>> The lhash.h header has slightly different macros in openssl 1.0.0 and >>>>> openssl 0.9.8. That is failing the build. I believe if we fix these >>>>> macro calls, squid should compile without any problem. Most probably >>>>> there won't be any issue with any other openssl APIs used by squid and >>>>> squid hopefully works just fine with openssl 1.0.0 as well. >>>>> >>>>> My question here is, if anybody fixed the problem already and if squid >>>>> works works with openssl 1.0.0 also. >>>> >>>> >>>> >>>> Could you please search your openssl .h files for the *exact* ABI >>>> version >>>> number and report back please. >>>> It should look like "#define OPENSSL_VERSION_NUMBER ..." >>>> >>>> Amos >>> >>> >>> >>> -- >>> Regards, >>> Nipun >> >> >> > -- Regards, Nipun