#2275 closed defect (fixed)

RSB python error building arm tools on CentOS 6.6

Reported by: Adit Owned by: Chris Johns
Priority: normal Milestone: 4.11
Component: tool/rsb Version: 4.10
Severity: major Keywords: rsb centos python
Cc: Blocked By:
Blocking:

Description

I am trying to set up an RTEMS development environment on a CentOS 6.6 machine, so I am following the instructions on the rtems source builder page found here.

I installed all of the packages listed under CentOS. Then I cloned the repository and ran the sb-set-builder according to the directions. I got a failure when trying to build rtems-tools-HEAD-1 (See attached log). It had to do with using python version 2.6, instead of 2.7. So I installed python 2.7 using the SCL feature of CentOS/Redhat. This allows me to do the following:

system python install-

$ python -V
Python 2.6.6

calling python with scl python27

$ scl enable python27 'python -V'
Python 2.7.5

So I reran the set builder command within scl:

$ sudo scl enable python27 '../source-builder/sb-set-builder --log=l-arm.txt --prefix=/opt/rtems/4.11 4.11/rtems-arm'
x=/opt/rtems/4.11 4.11/rtems-arm'                                                                        [6/1854]
RTEMS Source Builder - Set Builder, v0.5.0
Build Set: 4.11/rtems-arm
Build Set: 4.11/rtems-autotools.bset
Build Set: 4.11/rtems-autotools-internal.bset
config: tools/rtems-autoconf-2.69-1.cfg
package: autoconf-2.69-x86_64-linux-gnu-1
building: autoconf-2.69-x86_64-linux-gnu-1
config: tools/rtems-automake-1.12.6-1.cfg
package: automake-1.12.6-x86_64-linux-gnu-1
building: automake-1.12.6-x86_64-linux-gnu-1
cleaning: autoconf-2.69-x86_64-linux-gnu-1
cleaning: automake-1.12.6-x86_64-linux-gnu-1
Build Set: Time 0:00:07.565536
Build Set: 4.11/rtems-autotools-base.bset
config: tools/rtems-autoconf-2.69-1.cfg
package: autoconf-2.69-x86_64-linux-gnu-1
building: autoconf-2.69-x86_64-linux-gnu-1
config: tools/rtems-automake-1.12.6-1.cfg
package: automake-1.12.6-x86_64-linux-gnu-1
building: automake-1.12.6-x86_64-linux-gnu-1
installing: autoconf-2.69-x86_64-linux-gnu-1 -> /opt/rtems/4.11
installing: automake-1.12.6-x86_64-linux-gnu-1 -> /opt/rtems/4.11
cleaning: autoconf-2.69-x86_64-linux-gnu-1
cleaning: automake-1.12.6-x86_64-linux-gnu-1
Build Set: Time 0:00:07.465109
Build Set: Time 0:00:15.031398
config: devel/expat-2.1.0-1.cfg
package: expat-2.1.0-x86_64-linux-gnu-1
building: expat-2.1.0-x86_64-linux-gnu-1
config: tools/rtems-binutils-2.24-1.cfg
package: arm-rtems4.11-binutils-2.24-x86_64-linux-gnu-1
building: arm-rtems4.11-binutils-2.24-x86_64-linux-gnu-1
config: tools/rtems-gcc-4.9.2-newlib-2.2.0-1-1.cfg
package: arm-rtems4.11-gcc-4.9.2-newlib-2.2.0-1-x86_64-linux-gnu-1
building: arm-rtems4.11-gcc-4.9.2-newlib-2.2.0-1-x86_64-linux-gnu-1
config: tools/rtems-gdb-7.8.2-1.cfg
package: arm-rtems4.11-gdb-7.8.2-x86_64-linux-gnu-1
warning: gdb-7.8.2.tar.xz: no hash found
building: arm-rtems4.11-gdb-7.8.2-x86_64-linux-gnu-1
error: building arm-rtems4.11-gdb-7.8.2-x86_64-linux-gnu-1
Build FAILED
  See error report: rsb-report-arm-rtems4.11-gdb-7.8.2-x86_64-linux-gnu-1.txt

And now I get an error when building gdb. The error log for that is attached, as well.

System info:

$ uname -a
Linux 2.6.32-504.8.1.el6.x86_64 #1 SMP Wed Jan 28 21:11:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release 
CentOS release 6.6 (Final)

Attachments (3)

rsb-report-rtems-tools-HEAD-1.txt (12.6 KB) - added by Adit on 02/19/15 at 23:28:06.
Original rtems-tools-HEAD-1 error with Python 2.6.6
rsb-report-arm-rtems4.11-gdb-7.8.2-x86_64-linux-gnu-1.txt (11.6 KB) - added by Adit on 02/19/15 at 23:28:26.
gdb build error with Python 2.7.5
change-min-python-version.patch (1.1 KB) - added by Adit on 02/22/15 at 06:09:44.
Patch to change minimum python version

Download all attachments as: .zip

Change History (12)

Changed on 02/19/15 at 23:28:06 by Adit

Original rtems-tools-HEAD-1 error with Python 2.6.6

Changed on 02/19/15 at 23:28:26 by Adit

gdb build error with Python 2.7.5

comment:1 Changed on 02/19/15 at 23:30:54 by Adit

Sorry I pressed submit before I wanted to.

One last note is that in the GDB error log, it finds the scl python, but then says it is not version 2.7. And so the error is that Python is missing or unusable.

comment:2 Changed on 02/19/15 at 23:34:39 by Chris Johns

There are 2 separate issues here. The first is the version selected for the rtems-tools. I think python-2.6.6 should be ok. I just entered the version close to what I had. I am happy to change it to python-2.6.6.

The second issue with gdb I suspect is related to the the devel package for python being installed. I am sorry but I do not know the name of that package for your distro.

comment:3 Changed on 02/19/15 at 23:38:13 by Adit

You are correct. The GDB issue is separate, and is really due to the attempted workaround I performed. I should not have included that in the report. The real issue is the initial Python version.

Yes, if you could change the minimum required version, that would be great. I also believe it should work fine.

comment:4 in reply to:  3 Changed on 02/19/15 at 23:41:03 by Chris Johns

Replying to budhe888:

Yes, if you could change the minimum required version, that would be great. I also believe it should work fine.

Could you please change the waf script and test for me ? Running the rtems-test command is ok as a test.

Then if you commit and create a patch using git I will apply it.

Thanks.

comment:5 Changed on 02/20/15 at 19:02:53 by Adit

Sorry I need a little guidance here.

I changed the waf scripts inside the rtems-tools.git repository that gets cloned as a part of running sb-set-builder. I then ran

$ ./waf configure --prefix=/opt/rtems/4.11
$ ./waf build install

And those completed successfully (whereas they failed before when run by sb-set-builder. I see the rtems-test script in the tester directory, but I'm not sure how to use it. It looks like it is expecting an executable to be provided. And I can't fully install the tools using sb-set-builder until these changes are pushed because if I do, it just re-fetches the master branch and removes my changes.

comment:6 Changed on 02/21/15 at 20:19:46 by Chris Johns

If the rtems-tools builds and installs then please attach the patch here and I will apply. If we discover further issues with the rtems-tools as a result of using the CentOS default python we can fix those.

Changed on 02/22/15 at 06:09:44 by Adit

Patch to change minimum python version

comment:7 Changed on 02/22/15 at 06:12:16 by Adit

Nevermind, I figured it out. Changed rtems-tools, it installed. I then built a sis install of rtems and ran rtems-test against the "hello world" example. Output is below. Patch is attached to the ticket. Thanks for your help.

$ rtems-test --rtems-bsp=sis o-optimize/hello.exe 
RTEMS Testing - Tester, v0.2.0
 Command Line: /opt/rtems-4.11/bin/rtems-test --rtems-bsp=sis o-optimize/hello.exe
 Python: 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]
[1/1] p:0 f:0 t:0 i:0 | sparc/sis: hello.exe
[1/1] p:0 f:0 t:0 i:0 | sparc/sis: hello.exe
Result: passed     Time: 0:00:01.014884

Passed:   1
Failed:   0
Timeouts: 0
Invalid:  0
-----------
Total:    1

Average test time: 0:00:01.503042
Testing time     : 0:00:01.503042

comment:8 Changed on 02/25/15 at 09:47:19 by Chris Johns

I have applied this patch. Thanks.

Please test and close this ticket if everything is ok.

comment:9 Changed on 03/03/15 at 17:46:34 by Amar Takhar

Resolution: fixed
Status: newclosed

Closing ticket. Please re-open if there are any issues.

Note: See TracTickets for help on using tickets.