Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#4930 closed defect (fixed)

rtems_waf: type and logic issue when enforcing libbsd checking.

Reported by: kgardas Owned by:
Priority: normal Milestone:
Component: build Version:
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

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.

Change History (1)

comment:1 Changed on 08/06/23 at 09:51:21 by kgardas

Resolution: fixed
Status: newclosed

Fixed by:

commit 8151754a5d6efd9b6be4d728f3633dc6a63672a9
Author: Karel Gardas <karel@…>
Date: Sat Jul 22 17:03:50 2023 +0200

fix typo and logic issue when libbsd checking is enforced by the user code


Fixes #4930.

Note: See TracTickets for help on using tickets.