#4111 closed defect (fixed)

4.11 branch RSB is broken with python3 on Linux

Reported by: Chris Johns Owned by: Chris Johns <chrisj@…>
Priority: normal Milestone: 4.11.4
Component: admin Version: 4.11
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

With Ubuntu 20 the 4.11 RSB fails with:

(py) johnsy@radium:~/si/rtems/rsb/rtems$ ../source-builder/sb-set-builder --prefix=$HOME/si/rtems/4.11 --log=arm.txt 4.11/rtems-arm                                                                                        
../source-builder/sb/macros.py:233: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if key.startswith('%{') and key[-1] is '}':                                                  
../source-builder/sb/macros.py:269: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if c is '#' and not state.startswith('value'):                    
../source-builder/sb/macros.py:272: SyntaxWarning: "is" with a literal. Did you mean "=="?     
  if not (state is 'key' and len(token) == 0) and \                       
../source-builder/sb/macros.py:275: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if state is 'key':                                                   
[blah blah blah]

Change History (8)

comment:1 Changed on 10/02/20 at 04:17:38 by Chris Johns

The module linux.py is also broken. The error is the lack of the dist module that effected master recently.

I am wondering if I should back port all the python code from master? It is clean and working on all hosts and is stable.

comment:2 Changed on 10/02/20 at 05:21:01 by Chris Johns

GDB 7.9 does not build because that version of GDB only supports python2. I suggest we move to the same version of Python as master (9.1). The GDB version does not effect the target code.

comment:3 Changed on 10/02/20 at 06:33:35 by Chris Johns

RTEMS tools is also suffering from the same problem in macros.py with python 3.8.2.

comment:4 Changed on 10/02/20 at 22:55:11 by Chris Johns <chrisj@…>

In 1dcdcad/rtems-tools:

rtemstoolkit: Fix macro's use of 'is'

Updates #4111

comment:5 Changed on 10/02/20 at 22:55:15 by Chris Johns <chrisj@…>

In af8c3926/rtems-tools:

rtemstoolkit/linux: Fix the host support

Updates #4111

comment:6 Changed on 10/03/20 at 04:33:33 by Chris Johns

Updating gdb to 9.1 breaks 4.11/rtems-sparc because the SIS patches do not apply. I cannot see an easy way out of this because we are wedged between no Python2 support and the need to support packages for a long period. The sparc will stay with gdb 7.9 and I will disable python.

comment:7 Changed on 10/03/20 at 22:37:35 by Joel Sherrill

Assuming it works as I expect, backporting RSB code from the master is fine to address this. All release branch dependencies should be in configuration files.

comment:8 Changed on 10/06/20 at 22:10:01 by Chris Johns <chrisj@…>

Owner: set to Chris Johns <chrisj@…>
Resolution: fixed
Status: newclosed

In 158ad68/rtems-source-builder:

sb: Back port the RTEMS 5 and 6 RSB engine.

  • Build GDb first as we do for RTEMS 5 and later
  • Update GDB to 9.1 for all archs expect SPARC. The SIS patches only apply to 7.9. Disable Python for SPARC

Closes #4111

Note: See TracTickets for help on using tickets.