[fpc-pascal] OpenSSL

Torsten Bonde Christiansen tc at epidata.info
Wed Nov 18 13:52:20 CET 2015

On 2015-11-18 13:32, Joost van der Sluis wrote:
> Op 18-11-15 om 08:00 schreef Torsten Bonde Christiansen:
>> On 2015-11-17 18:25, Serguei TARASSOV wrote:
>>> On 17/11/2015 15:24, fpc-pascal-request at lists.freepascal.org wrote:
>>>> In my program I need to use the OpenSSL unit from fpc 
>>>> (packages/openssl)
>>>> AND I also need to use the lNET package.
>>>> However my problem is that lNET also include a file named openssl.pas,
>>>> although it seems to be never that the one included in packages it 
>>>> does not have the
>>>> same methods included.
>>>> So wheneven I include OpenSSL as a unit in my program it ALWAYS 
>>>> refer to
>>>> the one in lNET, presumable because it is a package - how do I 
>>>> avoid this and
>>>> instead use/refer to the fpc one?
>>> As Michael wrote it is not possible without unit renaming because 
>>> there is no notion of package in compiler.
>>> The proper solution is to compile lNET package as a library (static 
>>> library doesn't supported AFAIK but DLL is ok).
>>> Then write a small wrapper to import some types, classes, and 
>>> functions and use DLL with shared memory.
>>> If you're required a really large interface of this package and then 
>>> large wrapper to write, you should better decompose your application 
>>> to compile some part as DLL with lNET package only.
>> Thank you for your suggestion - but to be honest I think the easiest 
>> way for me is going to be: Use Lazarus to rename the OpenSSL unit 
>> from lnet, which hopefully renames all reference within the package 
>> itself.
> But where did you install lnet from in the first place? Just update to 
> the latest version isn't that hard? I do not know which version you 
> are using, but if it is a recent one, the rename of the openssl unit 
> is the only change. ;)
I've been using the one from here:

> Btw: the openssl unit form lnet is exactly the same as the openssl 
> unit in fpc.
Maybe the trunk of lnet is updated, but otherwise there is actually a 
large difference in the two units. A whole lot of RSA/PEM and other 
certificate functions are not included in the lnet one. I made a quick 
diff of the two files (lnet vs. fpc opensl) and it is more than 100K 
bytes large... :)


More information about the fpc-pascal mailing list