Preliminary El Capitan product support

Build products with SIP disabled

This work requires disabling SIP. Security does not recommend disabling SIP.


The OS X build requires Xcode, the Xcode command line tools, XQuartz, and an installation of openssl.

With the release of El Capitan, Apple no longer supplies ssl as part of Xcode. However, ssl is an integral part of python. The following will install openssl in /usr/local on your machine. Make sure you download the latest stable openssl. That was 1.0.2h when these instructions were written. The releases of openssl change often and you need to keep up with them.

sudo mkdir /usr/local
mkdir ssl
cd ssl
curl -O
tar xf openssl-1.0.2h.tar.gz 
cd openssl-1.0.2h
./Configure darwin64-x86_64-cc --prefix=/usr/local
make depend
make test
sudo make install
which openssl

Alternatively, you may wish to use home-brew to install openssl. However, be aware that installations of other packages in home-brew may conflict with the ups products.


root 5

artdaq_core does not build because of a problem with gccxml. This problem affects building some, but not all, root dictionaries. We note that gccxml is no longer supported and the root 6 genreflex no longer uses gccxml. So far as we can tell, only artdaq_core is affected.

--->> genreflex: INFO: Using gccxml from /Users/garren/unix/products/gccxml/v0_9_20150423/Darwin64bit+15/bin/gccxml
In file included from /Users/garren/unix/products/gcc/v4_9_3/Darwin64bit+15/lib/gcc/x86_64-apple-darwin15.3.0/4.9.3/../../../../include/c++/4.9.3/cstdlib:72,
                 from /Users/garren/unix/products/gccxml/v0_9_20150423/Darwin64bit+15/share/gccxml-0.9/GCC/4.9/bits/stl_algo.h:59,
                 from /Users/garren/unix/products/gcc/v4_9_3/Darwin64bit+15/lib/gcc/x86_64-apple-darwin15.3.0/4.9.3/../../../../include/c++/4.9.3/algorithm:62,
                 from /Users/garren/unix/products/artdaq_core/v1_04_28/src/artdaq-core/Data/Fragment.hh:4,
                 from /Users/garren/unix/products/artdaq_core/v1_04_28/src/artdaq-core/Data/classes.h:1:
/usr/include/stdlib.h:267: error: wrong number of arguments specified for 'deprecated' attribute
--->> genreflex: INFO: Parsing file /Users/garren/unix/products/artdaq_core/v1_04_28/src/artdaq-core/Data/classes.h with GCC_XML 
--->> genreflex: ERROR: processing file with gccxml. genreflex command failed.

Test with SIP enabled

Use products built in place when SIP was disabled

Try building larana against larsoft v05_11_01.

Build completes, but the test fails:
dyld: Library not loaded: libboost_unit_test_framework.dylib
  Referenced from: /Users/garren/unix/test/usep/build_d15.x86_64/larana/bin/OpFlashAlg_test
  Reason: image not found

No surprise here.

Try building larsoft v06_00_00_rc

We need a build of pandora. Ran by hand. It completed normally?
Now fire up the build, which doesn't get far:

[  0%] Generating dictionary files for target larcore_SummaryData
dyld: Symbol not found: __ZNKSt14error_category10equivalentERKSt10error_codei
  Referenced from: /Users/garren/unix/larsoft/root/v6_04_06/Darwin64bit+15-e9-nu-prof/bin/genreflex
  Expected in: /usr/lib/libstdc++.6.dylib

Build a product stack

The basic product stack builds successfully

./buildFW -t -b e9 `pwd` prof build_base-v4_9_3

Building art fails when running the tests for cetlib

./buildFW -t -b e9 `pwd` prof art-v1_18_05
Build of cetlib v1_17_02 -q e9:prof failed with status 8 
--- ALL tests fail