Re: [squid-users] squid 3.2.0.19 compilation problem

From: nipun_mlist Assam <nipunmlist_at_gmail.com>
Date: Fri, 10 Aug 2012 14:44:23 +0530

>
> 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_at_treenet.co.nz> 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_at_gmail.com>
>> 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_at_treenet.co.nz>
>>> 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
Received on Fri Aug 10 2012 - 09:14:38 MDT

This archive was generated by hypermail 2.2.0 : Fri Aug 10 2012 - 12:00:02 MDT