Scribbler 2
MyroC Installation and Comments for Linux

Materials to Support a C-based Course with Scribbler 2 Robots
Scribbler 2
 
 

Installing MyroC.3.1b

This page organizes instructions and notes for the installation of version the MyroC package on Linux.

eSpeak (external package) libjpeg (external package) openGL (external package) eSpeakPackage.2.0
(within MyroC.3.1b)
MyroC.3.1b

General Comments

Prelinimaries

The installation instructions that follow assume that various standard Linux packages have already been installed. The system administrator of one Linux system has remarked that the following packages should be installed before further work proceeds.

eSpeak [Jonathan Duddington (admin)]

To install eSpeak

  1. Download eSpeak the Linux source zip file from eSpeak

  2. Move the espeak package to your designated working directory (e.g., MyroC-materials).

    The following instructions assume you have moved to the designated working directory (e.g., MyroC-materials).

  3. If the espeak package appears with a .zip extension (e.g., espeak-1.48.04-source.zip), unzip the Linux zip file with the command

    unzip espeak-1.48.04-source.zip
    
  4. Move to the unzipped espeak directory, and review the available files, including the license and ReadMe files.

  5. Compile and install espeak — likely using the supplied Makefile(s).

libjpeg

  1. Download and install the jpeg source from www.ijg.org

openGL

  1. Download and install the openGL source from www.opengl.org

eSpeakPackage

As noted in the General Comments near the top of this page, the following procedures assume the user has established a base directory for the downloading and installation of the eSpeak and MyroC packages. For example, the user might create a base directory, perhaps called "MyroC-materials".

  1. In a terminal window, move to the created base directory, with a command such as:

    cd                  # since earlier commands reference various directories, go home first
    cd MyroC-materials  # base directory for MyroC installation
    
  2. Download the compressed archive file, MyroC.3.1b.tgz to your created base directory

  3. Although the original file, MyroC.3.1b.tgz, is a compressed archive file, the Linux environment may or may not decompress the file automatically during download.

Following this extraction, the following files and directories should be found in a new MyroC.3.1b subdirectory.

The use of eSpeak is quite different on Linux and Mac platforms.

As noted above, two versions of the eSpeakPackage are available for a Linux environment. Since a natural approach to processing utilizes the eSpeak API, it is suggested that you first try installing the eSpeakPackage in

eSpeakPackage-linux.2.0

If use of that package yields a program that seems to hang when used, repeat the installation process using subdirection

eSpeakPackage-linux.2.0-alt

The following directions relate to eSpeakPackage-linux.2.0

  1. Move from the main base directory to the new MyroC.3.1 subdirectory, and the linux-based eSpeak directory. Then list the contents of the eSpeak subdirectory:

    cd MyroC.3.1 
    cd eSpeakPackage-linux.2.0 
    ls
    

    The listing includes the following files:

  2. Designate Makefile-linux as the relevant framework for compiling and running eSpeak on a Linux computer. This is accomplished by creating a symbolic link within the eSpeak directory:

    ln -s Makefile-linux Makefile
    

    After this command has been issued, use the ls -l command to check that a new Makefile entry appears in the subdirectory, and that it points to makefile-linux:

    ls -l
    
  3. Compile the eSpeakPackage

    make eSpeakPackage.o
    
  4. When trying to install the eSpeakPackage, file/directory permission issues can arise when some materials need to be created in a user's MyroC-materials directory and other materials are to be placed in system directories, such as /usr/local/bin. Unfortunately, using both a user's directories and system directories can be extremely time consuming and frustrating, so it is recommended that all materials be installed in a user's directory (e.g., /home/hewalker/MyroC).

    Edit the Makefile, so the target for installation identifies the desired directory within the user's account.

  5. Install the eSpeakPackage with the command
    make install/eSpeak
    
  6. Report the location of the relevant files to the Linux operating system; create a local.conf file to designate where shared libraries are located:

  7. The above instructions likely handle software installation. However, workstations often are set up with their audio muted. If running test programs yields long pauses when printed output appears, but no sound, check the audio settings.

Testing the eSpeak and eSpeakPackage download and installation

As noted above, if the installation in

eSpeakPackage-linux.2.0

does not seem to work, try a similar process with the alternative implementation in

eSpeakPackage-linux.2.0-alt

MyroC.3.1b

Installation of the eSpeakPackage required downloading and decompressing the archive file MyroC.3.1b.tgz. From the created base directory (e.g., "MyroC"), move to the MyroC.3.1 release subdirectory, and then its subrelease MyroC.3.1b subdirectory:

  1. Move to the MyroC.3.1b subdirectory:

    cd            # since earlier commands reference various directories, go home first
    cd MyroC      # base directory for MyroC installation
    cd MyroC.3.1  # the release subdirectory
    cd MyroC.3.1b # the subrelease subdirectory
    
  2. As with the eSpeak installation, designate Makefile-linux as the relevant framework for compiling and installing the MyroC package:

    ln -s Makefile-linux Makefile
    
  3. Compile and install the MyroC package in system directories:

    make install/MyroC
    
  4. As with the eSpeakPackage installation, report the relevant files to the Linux operating system (see Step 9 in the eSpeakPackage installation above).

Testing and Running MyroC Programs

Several test programs are available in the test-programs subdirectory of the base directory.

Preliminary Step: Using MyroC with Scribbler 2 robots requires setting up Bluetooth so the workstation/laptop and robot(s) are properly paired. See Bluetooth Setup for Linux Workstations/Laptops for details — before trying to run test programs.

Compiling MyroC programs requires use of numerous compilation flags, compiling normally uses a Makefile. As with installation, compilation flags must be tailored to the Linux environment.

  1. Move to the MyroC.3.1 directory that you created earlier (not MyroC.3.1b), and then move to its test-programs subdirectory.

  2. From the MyroC.3.1 directory, move to the test-programs subdirectory.

    cd test-programs
    

    In the test-programs subdirectory, designate Makefile-linux as the relevant framework for compiling MyroC programs:

    ln -s Makefile-linux Makefile
    
  3. Test programs can be compiled with a simple make command. For example, running the spirit-song.c program utilizes these steps:

    make spirit-song
    ./spirit-song
    

    Note: If this step generates errors that rBeep and other MyroC functions are "Undefined symbols" or that there is a "clang: error", double check that the "ln -s" command above has been issued, and a new file (called Makefile) is present in the same directory as your program. See also the notes after Step 4 below.

  4. To compile programs in any other user directory (except eSpeak and MyroC.3.1b), copy the Makefile-linux file to the user directory — using the name Makefile.

    Notes: Compiling and installing both the eSpeakPackage and MyroC require different commands from compiling and running user programs (once these packages have been installed). Thus, the Makefile-linux files in the eSpeak and MyroC subdirectories are different from the Makefile-linux file in the test-programs subdirectory. Be sure to utilize the Makefile-linux in the test-programs subdirectory as the appropriate Makefile for user programs utilizing either the eSpeakPackage or MyroC.


created 17 October 2015
revised 19 October 2015, revised 23 February 2016
revised for alternate Linux environments 22 January 2017
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.