Issue 127099

Summary: Impossible to build with system OpenSSL in Mac OS X El Capitan
Product: Build Tools Reporter: Ariel Constenla-Haile <arielch>
Component: codeAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Normal    
Priority: P1 (highest) CC: jim
Version: 4.1.2   
Target Milestone: ---   
Hardware: Mac   
OS: OS X 10.11   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
serf build log
none
oox build log none

Description Ariel Constenla-Haile 2016-09-03 19:55:41 UTC
Created attachment 85662 [details]
serf build log

Apple has removed the system headers for OpenSSL in OS X El Capitan, it is thus impossible to build AOO, the build breaks in serf and oox due to missing system headers.
Comment 1 Ariel Constenla-Haile 2016-09-03 19:56:37 UTC
Created attachment 85663 [details]
oox build log
Comment 2 Ariel Constenla-Haile 2016-09-03 19:58:17 UTC
System information:

Mac-de-Ariel:~ ariel$ sw_vers 
ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G1004

Mac-de-Ariel:~ ariel$ clang --version
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Mac-de-Ariel:~ ariel$ xcodebuild -version
Xcode 7.3.1
Build version 7D1014
Comment 3 Ariel Constenla-Haile 2016-09-14 17:20:34 UTC
Apple suggests to ship your own copy of openSSL
http://lists.apple.com/archives/macnetworkprog/2015/Jun/msg00025.html

"We recommend that developers who need OpenSSL build their own copy of it and include that copy in their app."
Comment 4 Jim Jagielski 2016-09-14 17:32:48 UTC
IMHO, we should consider openssl as an "external" dependency ala java and ant when building. Building openssl yourself or, even better, using MacPorts or Homebrew helps simplify these.
Comment 5 Ariel Constenla-Haile 2016-09-14 19:55:30 UTC
(In reply to Jim Jagielski from comment #4)
> IMHO, we should consider openssl as an "external" dependency ala java and
> ant when building. Building openssl yourself or, even better, using MacPorts
> or Homebrew helps simplify these.

Java and ant are completely different, using MacPorts' or homebrew's OpenSSL is just a hack for a development build, but you cannot release AOO built on this environment: the base MacOSX is 10.7 http://www.openoffice.org/dev_docs/source/sys_reqs_aoo41.html#os-x
If AOO built on El Capitan with MacPorts is linked against MacPorts openSSL libs (https://trac.macports.org/browser/trunk/dports/devel/openssl/Portfile openSSL seems to be 1.0.2h), these libraries might not be found in older systems.

The released MacOSX version must be able to run on MacOSX >= 10.7.
Comment 6 Jim Jagielski 2016-10-05 17:14:37 UTC
What I mean is that during the build process, AOO should either download and compile openssl or use the locally added versions.

A better analogy would have been to compare it to serf rather than ant.