Changes between Version 1 and Version 2 of Ticket #57007


Ignore:
Timestamp:
Aug 21, 2018, 7:55:34 AM (6 years ago)
Author:
olupton (Olli Lupton)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #57007 – Description

    v1 v2  
    1313When (automatically-generated) code tries to include the latter, i.e. `#include <ROOT/RConfig.h>`, then, if `/opt/local/include` is in the include path, `/opt/local/include/root/RConfig.h` is found instead (with a warning about non-portable filenames because the case doesn't match, -Wnonportable-include-path), and compilation fails because the wrong one of the two RConfig.h is picked up (errors like `error: use of undeclared identifier 'R__likely'` -- included so hopefully Google finds this ticket).
    1414
    15 A minimal workaround is to remove the `/opt/local/include/root{,6}` symlinks and make sure `/opt/local/libexec/root6/include/root` is in the include path for compilation. This seems a bit ugly, but so do all the other solutions...
     15A minimal workaround is to remove the `/opt/local/include/root` symlink and make sure `/opt/local/libexec/root6/include/root` is in the include path for compilation. This seems a bit ugly, but so do all the other solutions...
     16
     17It seems that the `/opt/local/include/root6` link always exists, but `/opt/local/include/root` depends on having run `port select root root6`.
    1618
    1719Possibilities I see:
    18 - Remove `/opt/local/include/root{,6}` symlinks: seems wrong to not have the headers somewhere under `/opt/local/include`
     20- Remove `/opt/local/include/root` symlink: seems wrong to not have the headers somewhere under `/opt/local/include`
    1921- Move the headers one directory up the tree under `/opt/local/include`, i.e. `ln -s /opt/local/libexec/root6/include/root/RConfig.h /opt/local/include/RConfig.h` repeated for every ROOT header: involves a large number of links, but does integrate ROOT into the /opt/local tree a bit better.
    2022- Consider it a bug on my part that `/opt/local/include` is in the include path when compiling against ROOT: seems unreasonable, many other packages' headers are only available here.