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

CompileMacro fails if unrelated TCanvas is created

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.04.00
    • Fix Version/s: 6.06/00, 6.04/02, 6.02/14
    • Component/s: CINT, Cling, Graphics, PyROOT
    • Labels:
      None
    • Environment:

      Description

      The attached file test.py creates a file "moo.cxx" containing the text "int moo()

      { return 0; }

      "
      It then asks gSystem to compile it with ROOT.gSystem.CompileMacro("moo.cxx","vfO")

      If the word "crash" is given as a command line argument to the script, the compilation above is preceded by the creation of a canvas:
      c = ROOT.TCanvas(),
      otherwise no canvas is created.
      Compilation fails if the canvas is created, and doesn't fail if the canvas is not created. Full output is provided as attachments GOOD.txt and BAD.txt generated as follows (assumes bash):

      lester@mac:test $ python -u test.py do_not_crash > GOOD.txt 2>&1
      lester@mac:test $ python -u test.py crash > BAD.txt 2>&1

      To "quickly" see whether the failure occurred, one could do:

                1. EXAMPLE OF FAILURE (assumes bash shell) #######
                  lester@mac:test $ python -u test.py crash 2>&1 | grep -i Error | tail -3
                  clang: error: no such file or directory: 'cl_kernels'
                  clang: error: no such file or directory: 'cl_kernels'
                  Error in <ACLiC>: Compilation failed!
                  lester@mac:test $
                  ####################################################
                1. EXAMPLE OF SUCCESS (assumes bash shell) #######
                  lester@mac:test $ python -u test.py do_not_crash 2>&1 | grep -i Error | tail -3
                  lester@mac:test $
                  ####################################################

      which suggests a link to the problem reported here:

      https://groups.cern.ch/group/roottalk/Lists/Archive/Flat.aspx?RootFolder=%2fgroup%2froottalk%2fLists%2fArchive%2fACliC%20no%20such%20file%20or%20directory%20%27cl%5fkernels%27&FolderCTID=0x01200200A201AF59FD011C4E9284C43BF0CDA2A4

      which promised a fix in this version of root, that has evidently not appeared

      Note that the logs show the compilation environment appears to be polluted by references to many directories created by user "jenkins" (a distributor/pacakage manager?) and it is only by "luck" that these don't also cause problems. The cl_kernels are therefore not the issue per-se, it is the pollution of the ACLIC compilation environment that seems to be the problem.

        Attachments

        1. BAD.txt
          32 kB
        2. GOOD.txt
          20 kB
        3. test.py
          0.2 kB

          Activity

            People

            • Assignee:
              axel Axel Naumann
              Reporter:
              lester Christopher Lester
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: