[CXX-542] Building driver with ssl & sasl support does not work Created: 20/Feb/15  Updated: 06/Apr/16  Resolved: 09/Mar/15

Status: Closed
Project: C++ Driver
Component/s: Build
Affects Version/s: legacy-1.0.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Brenton Poke [X] Assignee: Unassigned
Resolution: Done Votes: 0
Labels: driver, legacy-cxx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File config.log     File config.log    

 Description   

For some reason, the build system can't find boost when the --ssl option is used. However, it can when omitted.



 Comments   
Comment by Andrew Morrow (Inactive) [ 06/Apr/16 ]

Hi christian.wyss@gfk.com - Well, we definitely aren't going to do CMake for the legacy C++ driver now. The good news though is that the new C++11 driver does use CMake. As for the poor user experience when OpenSSL is not installed, we actually will have a fix coming in this area in the legacy-1.1.2 release (legacy-1.1.1 is almost out the door and the fix won't make for that release).

Comment by Christian Wyss [ 06/Apr/16 ]

Hello DixieFlatline and acm
We just encountered the same behaviour on a CentOS7 environment.
After finding this issue we realized the openssl-devel package was missing on the build system.

yum install openssl-devel cyrus-sasl-devel

solved it for us in the end,
openssl-devel for ssl and crypto libs, cyrus-sasl-devel because of missing sasl.h include

It would be nice though to have proper errors from that scons thing - or a CMake that works..

Comment by Andrew Morrow (Inactive) [ 04/Mar/15 ]

Hi DixieFlatline -

I wanted to follow up with you on this ticket since I had not heard back from you. Were you able to make progress building the driver given that the build system was failing to find libssl and libcrypto at configure time?

Thanks,
Andrew

Comment by Andrew Morrow (Inactive) [ 01/Mar/15 ]

DixieFlatline -

I see the following lines in your configure output:

/bin/ld: cannot find -lssl
/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
scons: Configure: no

Where do you have the openssl libraries installed?

Also, this is poor behavior in the build system: it should be checking for the presence of these libraries and erroring out if it doesn't find them. Instead, it unconditionally adds them to the link libraries, causing subsequent unrelated configure checks to fail, which is confusing.

Thanks,
Andrew

Comment by Brenton Poke [X] [ 27/Feb/15 ]

Ok, I wiped the directory and downloaded again. Uploaded a second config.log

Comment by Andrew Morrow (Inactive) [ 27/Feb/15 ]

Hi DixieFlatline -

Thanks for sending that. It looks like this was from a re-run, so the configure output is "cached" in a lot of places, which makes it less diagnostically useful. Can you re-run with the --config=force option and re-post the output of config.log?

If you could also include the console output of the configure step that would be helpful too.

Thanks,
Andrew

Comment by Brenton Poke [X] [ 27/Feb/15 ]

Here's the config.log file (attached). Sorry about the late reply.

Comment by Andrew Morrow (Inactive) [ 20/Feb/15 ]

Hi -

Can you send us the contents of the file build/scons/config.log? That should let us see what error is making the build system think it can't find boost. I think the error message is misleading and it is actually failing in some other way.

Also, you most likely don't actually need the --64 flag (unless your local toolchain targets 32-bit by default), or the --release flag, which is more or less vestigial. Optimization and internal debugging checks are managed via the --dbg and --opt flags.

Thanks,
Andrew

Generated at Wed Feb 07 21:59:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.