[Rock-dev] gccxml failed to parse header, rock bug?

Matthias Goldhoorn matthias.goldhoorn at dfki.de
Tue Sep 25 16:24:15 CEST 2012


On 25.09.2012 16:13, Sylvain Joyeux wrote:
> On 09/25/2012 09:21 AM, Matthias Goldhoorn wrote:
>> On our bildserver, the avalon/types package was build sucsessful, but
>> during using one type in an different package it got the following 
>> error:
>>
>> (debian)cudadmin at build01:/home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/avalon/orogen/buoy$ 
>>
>> orogen --debug --corba buoy.orogen
>> /tmp/orogen_pending_loads20120925-9449-1b0qort-0:1:122: error:
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/include/avalon_base: 
>>
>> No such file or directory
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib-gccxml.rb:600:in 
>>
>> `gccxml': cannot load one of the header files
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/include/avalon_base: 
>>
>> gccxml returned an error while parsing
>> /tmp/orogen_pending_loads20120925-9449-1b0qort-0
>> (Orocos::Generation::ConfigError)
>>       from /usr/lib/ruby/1.8/tempfile.rb:188:in `open'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib-gccxml.rb:597:in 
>>
>> `gccxml'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib-gccxml.rb:624:in 
>>
>> `load_from_gccxml'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib.rb:2281:in 
>>
>> `call'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib.rb:2281:in 
>>
>> `import'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/lib/orogen/gen/typekit.rb:1443:in 
>>
>> `do_import'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/lib/orogen/gen/typekit.rb:1182:in 
>>
>> `perform_pending_loads'
>>       from /usr/lib/ruby/1.8/tempfile.rb:188:in `open'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/lib/orogen/gen/typekit.rb:1175:in 
>>
>> `perform_pending_loads'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/lib/orogen/gen/project.rb:959:in 
>>
>> `task_context'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:158:in 
>>
>> `send'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:158:in 
>>
>> `method_missing'
>>       from buoy.orogen:18:in `eval_dsl_file_content'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:176:in 
>>
>> `instance_eval'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:176:in 
>>
>> `dsl_exec_common'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/with_module.rb:45:in 
>>
>> `instance_eval'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/with_module.rb:45:in 
>>
>> `with_module'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:169:in 
>>
>> `dsl_exec_common'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:34:in 
>>
>> `load_dsl_filter_backtrace'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:151:in 
>>
>> `dsl_exec_common'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:110:in 
>>
>> `eval_dsl_file_content'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/utilrb/lib/utilrb/kernel/load_dsl_file.rb:126:in 
>>
>> `eval_dsl_file'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/lib/orogen/gen/project.rb:1288:in 
>>
>> `load'
>>       from
>> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/tools/orogen/bin/orogen:144 
>>
>>
>>
>> Not sure what has changed, but the headers seems -- from my point of
>> view -- fine.
>> Is there an way to debug this in an better way as "gccxml cannot load
>> any file in <dir>?"
> Yes ... by giving more attention to the error message ... :P
>
> The error message is not "cannot load any file in <dir>" but
>
> /tmp/orogen_pending_loads20120925-9449-1b0qort-0:1:122: error:
> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/include/avalon_base: 
>
> No such file or directory
> /home/build/jenkins/workspace/AvalonBootstrap/FLAVOR/next/label/DebianUnstable/dev/install/lib/ruby/1.8/typelib-gccxml.rb:600:in 
>
> `gccxml': cannot load one of the header files
>
>
>
> In other words, gccxml has been instructed to load 
> install/include/avalon_base as if it was a header (which it is not).
>
> There is indeed a bug in orogen. My guess is, you do:
>
>   import_types_from "avalon_base"
>
> In which case orogen looks for either a header with that name, or 
> another orogen project with that name. The test is too lax and will 
> accept directories (it should only accept files).
>
> In other words:
>
>   -  I guess that you are missing a dependency on the avalon_base 
> orogen project
>   - oroGen should only look for files, not directories

there is already an dependency to avalon_base ( <depend 
package="avalon/types"/> ), that was what i thought first.
If i compile it with
     import_types_from "avalon_base/feature.h"
it work's but i still dont know why this now failes without giving the 
exact header, in the past it works and the dependency is there...
(also only failed on the buildserver)

Matthias



-- 
  Dipl.-Inf. Matthias Goldhoorn
  Space and Underwater Robotic

  Universität Bremen
  FB 3 - Mathematik und Informatik
  AG Robotik
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Tel.:     +49 421 178 45-4193
  Zentrale: +49 421 178 45-6550
  Fax:      +49 421 178 45-4150
  E-Mail:   matthias.goldhoorn at uni-bremen.de

  Weitere Informationen: http://www.informatik.uni-bremen.de/robotik



More information about the Rock-dev mailing list