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

GeoCad and R are incompatible due to name clashes

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • High
    • Resolution: Fixed
    • 6.12/06, 6.13/01
    • 6.16/00
    • Other
    • None
    • Ubuntu 16.04 and ROOT configured with -Dgeocad=ON -Dr=ON

    Description

      If configured with both -Dgeocad=ON and -Dr=ON the test that loads all libraries fails due to name clashes, as shown below:

      https://epsft-jenkins.cern.ch/job/root-docker-snapshot/419/testReport/junit/projectroot.roottest.root.meta/loadAllLibs/roottest_root_meta_loadAllLibs_LoadAllLibsZA

      In file included from libGeoCad dictionary payload:7:
      In file included from /root-build/build/include/TOCCToStep.h:17:
      In file included from /root-build/build/include/TGeoToOCC.h:19:
      In file included from /usr/include/oce/TopoDS_Shape.hxx:9:
      /usr/include/oce/Standard.hxx:41:33: error: C++ requires a type specifier for all declarations
        Standard_EXPORT static   void Free (const Standard_Address aStorage) ;
                                      ^
      /usr/share/R/include/R_ext/RS.h:64:38: note: expanded from macro 'Free'
      #define Free(p)        (R_chk_free( (void *)(p) ), (p) = NULL)
                                           ^
      In file included from libGeoCad dictionary payload:7:
      In file included from /root-build/build/include/TOCCToStep.h:17:
      In file included from /root-build/build/include/TGeoToOCC.h:19:
      In file included from /usr/include/oce/TopoDS_Shape.hxx:9:
      /usr/include/oce/Standard.hxx:41:33: error: expected ')'
      /usr/share/R/include/R_ext/RS.h:64:50: note: expanded from macro 'Free'
      #define Free(p)        (R_chk_free( (void *)(p) ), (p) = NULL)
                                                       ^
      /usr/include/oce/Standard.hxx:41:33: note: to match this '('
      /usr/share/R/include/R_ext/RS.h:64:24: note: expanded from macro 'Free'
      #define Free(p)        (R_chk_free( (void *)(p) ), (p) = NULL)
                             ^
      In file included from libGeoCad dictionary payload:7:
      In file included from /root-build/build/include/TOCCToStep.h:17:
      In file included from /root-build/build/include/TGeoToOCC.h:19:
      In file included from /usr/include/oce/TopoDS_Shape.hxx:9:
      /usr/include/oce/Standard.hxx:42:42: error: C++ requires a type specifier for all declarations
      template <typename T> static inline void Free (T*& thePtr) { Free ((void*)thePtr); thePtr = 0; }
                                               ^
      /usr/share/R/include/R_ext/RS.h:64:38: note: expanded from macro 'Free'
      #define Free(p)        (R_chk_free( (void *)(p) ), (p) = NULL)
                                           ^
      

      Attachments

        Issue Links

          Activity

            People

              dpiparo Danilo Piparo
              amadio Guilherme Amadio
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Actual End: