Skip to content
Snippets Groups Projects
  • Fons Rademakers's avatar
    f0331dcb
    From Mattias Mellert (#100973): · f0331dcb
    Fons Rademakers authored
    Fixing 2 issues. 
    1. Using 
    
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]' 
    
    to extract the version of ruby being used is not reliable, and with the
    ruby 2.0 in Fedora 19 it fails (an empty string is returned). A better
    alternative is to use 
    
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["MAJOR"]' 
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["MINOR"]' 
    
    instead. This also works with ruby 1.8 on RHEL 5 and 6. 
    
    2. The RFLOAT_VALUE macro in ruby 2.0 resolves to an inlined function and
    is therefore not a valid lvalue any more, and the address-of operator can
    not be applied to it. The construct &RFLOAT_VALUE(...) is used in the
    rr_parse_void function, which therefore no longer compiles. This function
    is not called anywhere in the code, nor is it part of the modules public
    interface since it is not listed in any installed header. So simply
    removing this function makes the code compile again.
    
    
    git-svn-id: http://root.cern.ch/svn/root/trunk@49089 27541ba8-7e3a-0410-8455-c3a389f83636
    f0331dcb
    History
    From Mattias Mellert (#100973):
    Fons Rademakers authored
    Fixing 2 issues. 
    1. Using 
    
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]' 
    
    to extract the version of ruby being used is not reliable, and with the
    ruby 2.0 in Fedora 19 it fails (an empty string is returned). A better
    alternative is to use 
    
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["MAJOR"]' 
    ruby -rrbconfig -e 'puts RbConfig::CONFIG["MINOR"]' 
    
    instead. This also works with ruby 1.8 on RHEL 5 and 6. 
    
    2. The RFLOAT_VALUE macro in ruby 2.0 resolves to an inlined function and
    is therefore not a valid lvalue any more, and the address-of operator can
    not be applied to it. The construct &RFLOAT_VALUE(...) is used in the
    rr_parse_void function, which therefore no longer compiles. This function
    is not called anywhere in the code, nor is it part of the modules public
    interface since it is not listed in any installed header. So simply
    removing this function makes the code compile again.
    
    
    git-svn-id: http://root.cern.ch/svn/root/trunk@49089 27541ba8-7e3a-0410-8455-c3a389f83636