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

GeoCad and R are incompatible due to name clashes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.12/06, 6.13/01
    • Fix Version/s: 6.16/00
    • Component/s: Other
    • Labels:
      None
    • Environment:

      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

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Actual End: