Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-8964

ROOT_GENERATE_DICTIONARY should not use files from install directory

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.12/00
    • Fix Version/s: 6.12/00, 6.10/06
    • Component/s: Build System
    • Labels:
      None
    • Environment:

      SLC6, cmake 3.8.2

      Description

      Hi,

      the dictionary generation seem to be using header files from the installation directory under certain circumstances. This might break the build if a bad header file is installed, or there is a mixture of old header files in the install directory and new header files in the source or build directory (as happened now when the templated IGradient functions were merged).

      To reproduce: the git checkout is in root/, it should be build in root_build/, and installed in root_install/.

      root_build$ FC=gfortran cmake ../root -DCMAKE_INSTALL_PREFIX=../root_install -Dgdml=on -Dminuit2=on -Droofit=on -Dcxx14=on -Droot7=on
      root_build$ cd ../root
      root$ make -C ../root_build -j4 install

      This successfully installs ROOT into root_install/. Now modify a header in root_install/ to contain invalid code, and touch the CMakeLists.txt file to trigger a re-run of cmake

      root$ touch CMakeLists.txt
      root$ vim ../root_install/include/Math/IFunction.h # for example remove everything but the first 40 lines

      ROOT will now no longer compile as the broken file from the installation directory is used when creating the dictionary for MathCore.

      Best regards,
      Sebastian

        Attachments

          Activity

            People

            Assignee:
            mato Pere Mato Vila
            Reporter:
            suhl Sebastian Uhl (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Actual End: