[RTEMS Project] #4930: rtems_waf: type and logic issue when enforcing libbsd checking.

RTEMS trac trac at rtems.org
Sat Jul 22 14:39:50 UTC 2023


#4930: rtems_waf: type and logic issue when enforcing libbsd checking.
----------------------+--------------------
  Reporter:  kgardas  |      Owner:  (none)
      Type:  defect   |     Status:  new
  Priority:  normal   |  Milestone:
 Component:  build    |    Version:
  Severity:  normal   |   Keywords:
Blocked By:           |   Blocking:
----------------------+--------------------
 When libbsd checking is enforced in rtems_waf submodule, the following
 `./waf configure...` step fails with:
 {{{
 Checking for RTEMS_NETWORKING               : no
 RTEMS LibBSD                                : arm/stm32h757i-eval
 Checking for header dlfcn.h                 : yes
 Traceback (most recent call last):
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Scripting.py",
 line 119, in waf_entry_point
     run_commands()
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Scripting.py",
 line 182, in run_commands
     ctx=run_command(cmd_name)
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Scripting.py",
 line 173, in run_command
     ctx.execute()
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Configure.py",
 line 85, in execute
     super(ConfigurationContext,self).execute()
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Context.py",
 line 92, in execute
     self.recurse([os.path.dirname(g_module.root_path)])
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/.waf-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Context.py",
 line 133, in recurse
     user_function(self)
   File "/export/home/rtems/git/rtems/ssh-precidata-quickjs/wscript", line
 31, in configure
     rtems.configure(conf, bsp_configure = bsp_configure)
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/rtems_waf/rtems.py", line 300, in configure
     bsp_configure(conf, ab)
   File "/export/home/rtems/git/rtems/ssh-precidata-quickjs/wscript", line
 24, in bsp_configure
     rtems_bsd.bsp_configure(conf, arch_bsp, mandatory = True)
   File "/export/home/rtems/git/rtems/ssh-precidata-
 quickjs/rtems_waf/rtems_bsd.py", line 74, in bsp_configure
     if conf.options.rtems is None:
 AttributeError: Values instance has no attribute 'rtems'
 }}}

 this is due to fact the conf.options variable does not have any `rtems`
 field e.g. the dictionary is missing `rtems` key.

 Another issue is that when this is fixed, then following code sets libbsd
 path to None if RTEMS path was not submitted to configure step (and is
 None) instead of to the provided prefix one.

--
Ticket URL: <http://devel.rtems.org/ticket/4930>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list