Ticket #6484 (closed defect: fixed)

Opened 9 months ago

Last modified 4 months ago

gcompris chess won't run with Rainbow

Reported by: walter Owned by: bdoin
Priority: high Milestone:
Component: gcompris-activities Version:
Keywords: Cc: walter
Action Needed: Verified: no
Deployments affected: Blocked By:
Blocking:

Description

You need to yum install gnuchess in order to use the GCompris chess programs. They won't launch unless you rm /etc/olpc-security. You don't need to turn off Rainbow to run other GCompris activities, so I suspect it may have something to do with gnuchess.

(Build 693)

Change History

Changed 9 months ago by mstone

I've only examined the 'chess_computer' activity so far. Here's what I found:

The first sign of trouble is that the activity fails to launch with isolation on, and succeeds with isolation off. This means that an interaction with Rainbow is clearly to blame, which further means that we need to read the activity's log file to see what's going on.

less -R /home/olpc/.sugar/default/logs/net.gcompris.chess_computerActivity-1.log

This shows us a colorful traceback originating from Rainbow's 'check_bundle_id()' contract-check which informs us that Rainbow is killing the launch because it doesn't like the '_' in the activity.info's service_name field. Arguably Rainbow is enforcing a standard for bundle names that is too restrictive. Fortunately, deleting the '_' in the service_name field in the activity.info file allows the activity to start.

The second problem we encounter, now that the activity succeeds in launching, is that it expects the gnuchess binary to live at /usr/games/gnuchess instead of /usr/bin/gnuchess. Here, we have two choices. We can either insert a compatibility symlink:

ln -s /usr/bin/gnuchess /usr/games/gnuchess

or we could modify either the gnuchess RPM or the GCompris activities.

Either way, we've now got a playable chess game.

Bruno - how would you like to proceed?

Changed 9 months ago by mstone

  • owner changed from mstone to bdoin

Changed 9 months ago by walter

  • cc walter added

apt-get on ubuntu puts gnuchess into /usr/games, for what it is worth.

Changed 8 months ago by bdoin

  • status changed from new to closed
  • resolution set to fixed

Published a new release with the fix. Get it on http://wiki.laptop.org/go/GCompris

Changed 4 months ago by gregorio

  • milestone deleted

Milestone Never Assigned deleted

Note: See TracTickets for help on using tickets.