Core (real-time) Framework v0.1 - Installation Instructions
Contents
- 1 Installation Instrutions
- 2 Fedora 17
Installation Instrutions
This release supports two platforms; windows 7 and Fedora Linux with Gnome 3. Installation instructions can be found below
Fedora 17
Requirements:
- Fedora 17 needs to be installed. Installation requires super-user privileges.
Installation Instructions
sudo yum install kernel-devel kernel-headers dkms gcc gcc-c++ \ git openssl-devel glib-devel glib2-devel gtk3-devel \ pcsc-lite-devel pcsc-lite pcsc-perl
Node.js
sudo yum localinstall --nogpgcheck http://nodejs.tchol.org/repocfg/fedora/nodejs-stable-release.noarch.rpm sudo yum install nodejs nodejs-devel nodejs-gyp nodejs-doc nodejs-debuginfo sudo ln -s /usr/bin/nodejs /usr/bin/node
Other Dependencies
- Google Chrome
RFID User Listener
In your GPII code directory:
# Clone the GPII PCSC Tools Repository git clone https://github.com/GPII/linux-rfid-user-listener # TODO: Update this with a project repo URL cd linux-rfid-user-listener # Compile and install make all sudo make install # Start PCSC the daemon sudo /usr/sbin/pcscd # Run the scanner ./pcsc_scan
We also include a utility for reading and writing the tokens on smart cards.
# If you haven't started the daemon already do so. sudo /usr/sbin/pcscd # Shows the model of tag you're using python pcscutil.py get model # Shows the current token stored on the card python pcscutil.py get gpiitoken # Sets the card token to 'nisha' python pcscutil.py set gpiitoken nisha
Ubuntu 12 Installation Instructions
Required packages
Use 'sudo apt-get install' to install the following packages:
git g++ curl libglib2.0-dev nodejs (*) nodejs-dev (required for node-gyp) pcscd (**)
(*) If nodejs won't install via 'sudo apt-get install' use the following:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs npm
(**) For the RFID User Listener (optional).
Other packages may be required. This will become clear when you run the build.sh bash file (see bellow).
Other Dependencies
- Google Chrome
You can either: Download the installer OR use 'sudo apt-get install google-chrome-stable'
RFID User Listener
Follow the steps described in the Fedora 17 Installation Instructions
The GPII Personalization Framework
From the command line:
# Clone the GPII Linux repository: git clone git://github.com/GPII/linux.git cd linux # Build the Framework: ./build.sh # Start up the Personalization Framework: ./start.sh
Fedora In VirtualBox
Most of the GPII development team run Fedora Linux as a virtual machine with VirtualBox.
- Ensure you're running VirtualBox 4.1.10 or higher (https://www.virtualbox.org/)
- Set up a new Virtual Box VM
- Choose "Enable 3D Acceleration" in the Display tab
- Ensure you allocate sufficient disk space and RAM to support a full Fedora installation with GNOME Shell 3
- Update your kernel by running, as root: yum -y update kernel
- Restart your virtual machine
- Mount the VirtualBox Guest Additions disk by choosing Devices > Install Guest Additions from the VirtualBox menu bar
- As root:
- cd /run/meda/<username>/VBOXADD...
- sh ./VBoxLinuxAdditions.run
- restorecon -R -v /opt
- Restart your virtual machine
Windows Installation Instructions
Dependencies
- Git
- Go to http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git and download the latest release of Git
- Or, for advanced developers, use Cygwin for a full Unix-like environment on Windows
- Be sure to choose "Run Git from the Windows Command Prompt" on the "Adjusting your PATH environment" panel
- Node
- Go to http://nodejs.org/download/, and choose the 32-bit (x86) version for Windows.
- MinGW
- Download and run http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/
- When installing MinGW, make sure the C and C++ compiler checkboxes are on
- Add C:\MinGW\bin to your PATH variable (Right click My Computer > Properties > Advanced > Environment Variables)
- Microsoft Visual C++ Redistributable Package (x86)
- Download and install from http://www.microsoft.com/en-us/download/details.aspx?id=5555
Building and Starting
- Open up cmd.exe (Start > Run > cmd.exe)
- Create a GPII directory
- mkdir c:\gpii (or wherever you prefer)
- cd c:\gpii
- Clone the GPII Windows repository
- git clone git://github.com/GPII/windows.git
- cd windows
- Compile the GPII Windows native code (run the following command from the Windows/DOS shell):
- build.cmd
- Start the GPII Framework and the USB Listener (from the Windows/DOS shell - not the Git Bash sell - while in the gpii\windows folder):
- start.cmd
Setup and Configuration
- On Windows 7, the GPII can't currently kill applications using taskill unless you:
- Go into Control Panels > User Accounts and Family Safety > User Accounts > User Account Control Settings
- Set the notification level to "Never notify"
Troubleshooting
Once you start the system (by using the start.cmd/start.sh scripts), you can test it without USB by navigating your browser to the following URLs:
http://localhost:8081/user/sammy/login
http://localhost:8081/user/sammy/logout
Mac Installation Instructions
Covering the installation of the universal package and node.js.
The Mac installation doesn't do much yet except running gpii in node.js. There are no settings handlers or listeners implemented yet, so only the http GET or POST requests will work.
- Installing make: The make compiler is not automatically included in a Mac, but is included in the Xcode development package.
- If you have already installed xcode, you can skip this step. Otherwise there are two possibilities as described below. Anyway you need an apple developer account, which is for free at this time.
- Download and install Xcode from the apple developers page Apple Developer Center
- or only install the "Command Line Tools For XCode" from Apple Developer Downloads
- Install git. The GUI-Tools automatically install the command line tools too.
- Install node.js in the terminal:
git clone git://github.com/ry/node.git cd /node ./configure make sudo make install
- Install GPII Universal
(to be tested.)
git clone git://github.com/GPII/universal.git
finally you need to mimic the structure in the git gpii linux version.
- move the just downloaded "universal" directory to a place you like.
- create a folder-structure looking like this
- gpii - mac -- index.js - node-modules -- universal
- the index.js file needs to be created and for the beginning can contain
/*! GPII Linux Personalization Framework Node.js Bootstrap Copyright 2012 OCAD University Licensed under the New BSD license. You may not use this file except in compliance with this License. You may obtain a copy of the License at https://github.com/gpii/universal/LICENSE.txt */ var fluid = require("universal"), gpii = fluid.registerNamespace("gpii"); // fluid.require("gsettingsBridge", require); /* linux specific, like this you can load the handlers and listeners as soon as they are developed. */ gpii.config.makeConfigLoader({ nodeEnv: gpii.config.getNodeEnv("fm.ps.sr.dr.mm.os.development"), configPath: gpii.config.getConfigPath() || "../node_modules/universal/gpii/configs" });
- the "universal" folder is the recently downloaded folder from github, containing all the downloaded files.
- open the terminal and go to the just created index.js file. run:
node index.js
Well done, this will start the node.js server and make gpii running and listening. The Port number on which it is listening should be shown in the second-last output line, like this:
... 13:04:25.786: Firing event registerMiddleware of component with typename gpii.requests and id 9c0m8p6e-14 to list of 1 listeners 13:04:25.787: Firing event onHandlers of component with typename gpii.server and id 9c0m8p6e-9 to list of 1 listeners 13:04:25.789: Server is running on port: 8081 13:04:25.789: Cleared instantiators (last id 9c0m8p6e-8) from threadLocal for end of flowManager.preferencesServer.solutionsRegistry.deviceReporter.matchMaker.ontologyServer.development