14 | | When (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). |
| 13 | When (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). |
19 | | - Remove /opt/local/include/root{,6} symlinks: seems wrong to not have the headers somewhere under /opt/local/include |
20 | | - 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. |
21 | | - 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. |
22 | | - Consider it a bug on my part that /opt/local/include comes before /opt/local/libexec/root6/include in the include path: doesn't seem very robust/reasonable to expect all external dependencies to respect this convention |
| 18 | - Remove `/opt/local/include/root{,6}` symlinks: seems wrong to not have the headers somewhere under `/opt/local/include` |
| 19 | - 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. |
| 20 | - 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. |
| 21 | - Consider it a bug on my part that `/opt/local/include` comes before `/opt/local/libexec/root6/include` in the include path: doesn't seem very robust/reasonable to expect all external dependencies to respect this convention |