[ROOT-7680] Can't build v6-02-12 on MacOS X 10.11 Created: 02/Oct/15  Updated: 12/Oct/15  Resolved: 12/Oct/15

Status: Closed
Project: ROOT
Component/s: Build System
Affects Version/s: 6.02/12
Fix Version/s: 6.02/14, 6.04/06

Type: Bug Priority: Medium
Reporter: Attila Krasznahorkay Assignee: Pere Mato Vila
Resolution: Fixed Votes: 0
Labels: None
Environment:

MacOS X 10.11
CMake 3.3.2
XRootD 4.1.3 / 4.2.3


Attachments: File ROOT-7680-patch.diff    
Development:

 Description   

Dear Pere,

I'm testing El Capitan on my old laptop to see whether to switch to it already, and see that I can't build ROOT the way I usually do.

For some reason the XRootD build (and I think the ROOT build is the same) doesn't find the developer headers/libraries to build SSL dependent code. With this XRootD still builds fine, but when I configure ROOT's build with:

cmake -Dall=ON -Dxrootd=ON -DXROOTD_ROOT_DIR=/usr/local/xrootd/4.2.3 -DCMAKE_INSTALL_PREFIX=/usr/local/root/v6-02-12 ../root

, it fails to build the netx package. Looking at the sources, according to proof/CMakeLists.txt, the proofx subdirectory is ignored when SSL is not available. Fine. But it seems that netx doesn't know how to build correctly in this case. As it still tries to make use of XpdSysPthread.h, which is not put in place. (As its library is not getting built.)

So I guess the netx package's build should be protected, or this package should maybe just not be built at all if SSL is not available for the build.

Cheers,
Attila



 Comments   
Comment by Pere Mato Vila [ 02/Oct/15 ]

Hi Attila. I have no problem with the master on MacOSX 10.11. So, I have now to find the commit that fixes it that was not put in 6.02.

Comment by Pere Mato Vila [ 02/Oct/15 ]

Committed a bunch of changes to fix this problem, the python RPATH treatment and CMake > 3.1 to the 6.02 patch branch.

Comment by Pere Mato Vila [ 06/Oct/15 ]

I am assuming it is solved. Please re-open if it is not the case.

Comment by Attila Krasznahorkay [ 09/Oct/15 ]

Hi Pere,

While v6-02-00-patches may be fixed for this (I didn't try. I have a quite slow laptop running El Capitan at the moment only, so I'm not compiling the head of the branch on it...), I just tried compiling v6-04-04, and that still has this issue.

I have a vanilla El Capitan installation. On which I build XRootD-4.2.3 simply with:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/xrootd/4.2.3 ../xrootd-4.2.3

Then, I try to build ROOT-v6-04-04 with:

cmake -Dall=ON -Dxrootd=ON -DXROOTD_ROOT_DIR=/usr/local/xrootd/4.2.3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/root/v6-04-04 ../root-v6-04-04/

And it fails in the way that I described before. Could you have a look? It's very annoying that I can't build ROOT with XRootD support on El Capitan at the moment.

Best,
Attila

Comment by Attila Krasznahorkay [ 09/Oct/15 ]

While it doesn't add much, these are the failure messages:

[ 54%] Building CXX object net/netx/CMakeFiles/Netx.dir/src/TXNetFile.cxx.o
Scanning dependencies of target RLDAP
[ 54%] Building CXX object net/ldap/CMakeFiles/RLDAP.dir/G__LDAP.cxx.o
/Users/krasznaa/Development/ROOT/root-v6-04-04/net/netx/src/TXNetFile.cxx:64:10: fatal error: 
      'XpdSysPthread.h' file not found
#include "XpdSysPthread.h"
         ^
1 error generated.
make[2]: *** [net/netx/CMakeFiles/Netx.dir/src/TXNetFile.cxx.o] Error 1
make[1]: *** [net/netx/CMakeFiles/Netx.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Cheers,
Attila

Comment by Attila Krasznahorkay [ 11/Oct/15 ]

Hi Pere,

Now that I'm running 10.11 on a faster machine as well, it turns out that the exact same failure happens with v6-04-04 when I try to build it with:

cmake -Dall=ON -Drpath=ON -Dunuran=OFF -Dbuiltin_xrootd=ON -DCMAKE_INSTALL_PREFIX=/usr/local/root/v6-04-04 ../root

Once again, it fails with:

/Users/krasznaa/Development/ROOT/root/net/netx/src/TXNetFile.cxx:64:10: fatal error: 
      'XpdSysPthread.h' file not found
#include "XpdSysPthread.h"
         ^
1 error generated.
make[2]: *** [net/netx/CMakeFiles/Netx.dir/src/TXNetFile.cxx.o] Error 1
make[1]: *** [net/netx/CMakeFiles/Netx.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Best,
Attila

Comment by Pere Mato Vila [ 12/Oct/15 ]

ARGH! One commit available in 6.02 and master was forgotten in 6.04? And other one was done after the tagging of 6.04. If you could validate the attached patch I could re-do a path release of 6.04.

Comment by Attila Krasznahorkay [ 12/Oct/15 ]

Hi Pere,

Will do once I get home. (It's my "home Mac" that runs El Capitan already, which is a bit faster.)

Cheers,
Attila

Comment by Attila Krasznahorkay [ 12/Oct/15 ]

I can confirm that this patch on top of v6-04-04 makes the build succeed in my setup.

Cheers,
Attila

Generated at Sat Sep 21 06:37:15 CEST 2019 using Jira 7.13.1#713001-sha1:5e06076c2d215a6f699b7e5c90ab2fae7ba5a1ce.