*Introduction* Great Cow BASIC can be used when using the Linux operating system. This instructions are not distribution specific, but are for Linux only (not Windows). *Instructions* Complete the following steps to compile and install Great Cow BASIC for Linux: 1. Install FreeBasic from your distributions repository or http://www.freebasic.net/wiki/CompilerInstalling If your Distribution eg. Debian are not provide Freebasic download it first from https://sourceforge.net/projects/fbc/ and follow the instructions for compiling and installing Freebasic 2. Download the "GCBasic - Sources" from SourceForge at https://sourceforge.net/projects/gcbasic/files/GCBasic%20-%20Linux%20Distribution/ a) download the "GCB@Syn.rar" b) password to unarchive/unrar is: GCB 3. Unrar/unpack GCB@Syn.rar to a location of your choice within your home directory (eg. within Downloads) with either a file manager or from a console. (for example in console) unrar x GCB@Syn.rar Using file manager you can right click on GCB@Syn.rar and open the Archive manager and choose the destination directory there. This destination directory (GreatCowBASIC) will be where you have access to the demo file directory and others. This directory is where I put my GCB developement files. Yes, another copy of these files will be in the /opt/GCBASIC directory but you need root access to operate there. 4. From a console, change to the GCBASIC Sources in the unpacked directory: eg. cd ~/Downloads/GreatCowBASIC/sources Now You are using the console (aka 'terminal'), that window with a blinking cursor. two commands you need to move around in the directory tree are: cd (change directory) and ls (list the files) cd .. moves up one level in the directory tree cd GreatCowBASIC drills down to GreatCowBASIC dir cd Gre* drills down to GreatCowBASIC dir if you are too lazy to type all that or there are long dir names Just enough of the name of the directory to make it unique. ls List the files and sub directories in this directory keyboard arrow up will go through your previous commands you have run so you don't need to retype something you already did type Drill your way down to /GreatCowBASIC/sources cd linuxbuild now /GreatCowBASIC/sources/linuxbuild This is where these instructions hide out! Chicken and egg paradox make the install.sh script executable using either the file browser(properties/permissions/allow executing file as program) OR set as executable (ie. 'chmod +x install.sh') here in console 5. You need to use the install.sh twice. First to build the executable "gcbasic" using the fbc you intalled earlier by executing: ./install.sh build do not take off the './' because that points to the previous directory 6. You'll need root privileges for the next step. You can switch user (su) to root, or optionally use 'sudo'. 7. Do you have an old Installation of GCBasic? If so, it would be wise to mv it away, Execute: sudo mv /opt/GCBASIC /opt/GCBASIC_old Note that this is the directory(/opt/GCBASIC) that linux will execute gcbasic from and have all the resources it needs. You can run gcbasic from anywhere after it is installed in the next install step Execute: [sudo] pwd (it should still show the path like it was in Step 4.)(/GreatCowBASIC/sources/linuxbuild) Need to be in the correct directory. Now you are ready fo Install sudo ./install.sh install do not take off the './' because that points to the previous directory. 8. If you su'd to root, use 'exit' to drop back to your normal user. Then, be sure to follow the instructions given by the script for updating your path. 9. Confirm proper execution, and the version, of GCBASIC by executing from console: gcbasic /version The output will look like this: 0.99.01 2022-01-27 (Linux 64 bit) : Build 1073 Now you can create and compile GCB source files. To program your microprocessor with your GCBASIC-created hex file, you'll need additional software. For PIC programming, you might find what you need at: http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=pg164120 or https://www.microchip.com/Developmenttools/ProductDetails/PG164130 For AVR programming, you'll need 'avrdude'. It should be available in your distributions repository. If not, check here: http://www.nongnu.org/avrdude/ Do not forget to look into the folder /opt/GCBASIC/documentation/