[AWS] OpenSSL on OS X

Adam Puleo adam.puleo at icloud.com
Mon Mar 14 15:49:35 CET 2016


Adam-Puleos-Work-MacBook-Pro:~ e130199$ openssl version
OpenSSL 1.0.2g  1 Mar 2016

Is there someplace the GNU gcc is looking for the OpenSSL libraries in? Should I make a link in /usr/local/gnat/lib that points to the OpenSSL libraries?


On Mar 14, 2016, at 7:41 AM, Dmitriy Anisimkov <anisimkov at ada-ru.org> wrote:

On 2016-03-14 20:39, Dmitriy Anisimkov wrote:
> Looks like AWS support only new OpenSSL versions.
> You can try to update OpenSSL or use GNUTLS (not less than 3.2.4)
> make setup SOCKET=gnutls

Also you can try to use http://www.libressl.org/ <http://www.libressl.org/>
It is mostly binary compartible with OpenSSL and you can use SOCKET=openssl to build with it.

> 
> On 2016-03-14 20:35, Dmitriy Anisimkov wrote:
>> What OpenSSL version do you have ?
>> 
>> On 2016-03-14 20:11, Adam Puleo wrote:
>>> Here’s the contents of makefile.setup:
>>> Adam-Puleos-Work-MacBook-Pro:aws-gpl-2015-src e130199$ cat makefile.setup 
>>> prefix=/usr/local/gnat/bin/..
>>> DEFAULT_LIBRARY_TYPE=static
>>> ENABLE_SHARED=true
>>> ZLIB=true
>>> XMLADA=true
>>> ASIS=false
>>> IPv6=false
>>> SOCKET=openssl
>>> LDAP=false
>>> DEBUG=false
>>> PROCESSORS=0
>>> TARGET=x86_64-apple-darwin13.4.0
>>> GSOAP=false
>>> 
>>> I backed out my changes to tools.gpr and when I run make build I get the following errors:
>>> gcc wsdl2aws.o -o wsdl2aws
>>> Undefined symbols for architecture x86_64:
>>>   "_TLSv1_1_client_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>>   "_TLSv1_1_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>>   "_TLSv1_1_server_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>>   "_TLSv1_2_client_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>>   "_TLSv1_2_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>>   "_TLSv1_2_server_method", referenced from:
>>>       _methods.8283 in libaws.a(aws-net-ssl__openssl.o)
>>> ld: symbol(s) not found for architecture x86_64
>>> collect2: error: ld returned 1 exit status
>>> gprbuild: link of wsdl2aws.adb failed
>>> make: *** [build-native] Error 4
>>> 
>>> Thanks,
>>> -adam
>>> 
>>> On Mar 14, 2016, at 2:23 AM, Dmitriy Anisimkov <anisimkov at ada-ru.org <mailto:anisimkov at ada-ru.org>> wrote:
>>> 
>>> On 2016-03-14 15:17, Dmitriy Anisimkov wrote:
>>>> Adam,
>>>> 
>>>> You don't need to modify AWS project files to link with OpenSSL, you
>>>> just have to use it right.
>>>> 
>>>> Show the "make setup" command results first from clean (not modified) AWS.
>>> I've forget something.
>>> 
>>> Better run
>>> 
>>> make setup SOCKET=openssl
>>> 
>>> and then show here the makefile.setup content, please.
>>> 
>>>> 
>>>> 
>>>> On 2016-03-14 15:10, Adam Puleo wrote:
>>>>> Hello,
>>>>> 
>>>>> I’m struggling trying to configure the .gpr files correctly so that the build finds the OpenSSL libraries.
>>>>> 
>>>>> For the tools I added the following code to the Linker package in tools.gpr:
>>>>>      case Shared.S_Target is
>>>>> 	     when "Darwin" =>
>>>>>            for Default_Switches ("Ada")
>>>>> 			   use Linker'Default_Switches ("Ada") & ("-Wl,-L/usr/local/lib,-lssl,-lcrypto");
>>>>> 		 when others =>
>>>>> 		    null;
>>>>> 	  end case;
>>>>> 
>>>>> However I cannot figure out where to put the linker switches in aws.gpr or shared.gpr.
>>>>> 
>>>>> I’m receiving the following errors:
>>>>> gcc wsdl2aws.o -Wl,-L/usr/local/lib,-lssl,-lcrypto -o wsdl2aws
>>>>> gprlib aws.lexch
>>>>> gcc -dynamiclib -shared-libgcc -o /Users/e130199/Downloads/aws-gpl-2015-src/.build/x86_64-apple-darwin13.4.0/release/relocatable/lib/aws/libaws.dylib ... /users/e130199/downloads/aws-gpl-2015-src/.build/x86_64-apple-darwin13.4.0/release/relocatable/obj/ssl/wrappers.o ...
>>>>> Undefined symbols for architecture x86_64:
>>>>>  "_TLSv1_1_client_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>>  "_TLSv1_1_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>>  "_TLSv1_1_server_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>>  "_TLSv1_2_client_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>>  "_TLSv1_2_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>>  "_TLSv1_2_server_method", referenced from:
>>>>>      _methods.8283 in aws-net-ssl__openssl.o
>>>>> ld: symbol(s) not found for architecture x86_64
>>>>> collect2: error: ld returned 1 exit status
>>>>> gprlib: /usr/local/gnat/bin/gcc execution error
>>>>> gprbuild: could not build library for project aws
>>>>> make: *** [build-native] Error 4
>>>>> 
>>>>> Is there a better way to do this?
>>>>> 
>>>>> Thank you,
>>>>> -adam
>>>>> 
>>>>> _______________________________________________
>>>>> AWS mailing list
>>>>> AWS at lists.adacore.com <mailto:AWS at lists.adacore.com>
>>>>> /no-more-mailman.html </no-more-mailman.html>
>>>> _______________________________________________
>>>> AWS mailing list
>>>> AWS at lists.adacore.com <mailto:AWS at lists.adacore.com>
>>>> /no-more-mailman.html </no-more-mailman.html>
>>> 
>>> _______________________________________________
>>> AWS mailing list
>>> AWS at lists.adacore.com <mailto:AWS at lists.adacore.com>
>>> /no-more-mailman.html </no-more-mailman.html>
>>> 
>>> 
>>> _______________________________________________
>>> AWS mailing list
>>> AWS at lists.adacore.com <mailto:AWS at lists.adacore.com>
>>> /no-more-mailman.html </no-more-mailman.html>
>> 
> 

_______________________________________________
AWS mailing list
AWS at lists.adacore.com
/no-more-mailman.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/aws/attachments/20160314/47de4b64/attachment-0001.html>


More information about the AWS mailing list