Compiling on Ubuntu 14.04 LTS (fresh install)

About Monkey 2 Forums Monkey 2 Development Compiling on Ubuntu 14.04 LTS (fresh install)

Tagged: , ,

This topic contains 36 replies, has 9 voices, and was last updated by  AdamStrange 9 months, 1 week ago.

Viewing 7 posts - 31 through 37 (of 37 total)
  • Author
  • #13301

    Richard Betson

    ^Your welcome 😀 Thanks for posting your results as I’ll be putting this all into a guide soon.


    Mark Sibly


    This apt-get makes things so much easier, thanks SDL!



    Just used DruggedBunny’s posted script on Ubuntu 17.10.

    Worked like a charm – full download and build all in about 15 minutes.

    Some notes:

    • All bananas run extremely (unusably) fast.  Literally hundreds of FPS.  Is this just because the examples aren’t using any kind of delta timing, or is something messed up on my end?
    • As others have pointed out, the monkey (Linux) executable name cannot be launched by double click as it wants to be opened as a shared library.  Is this something that can be changed with compiler flags?  Also, the naming convention is quite strange and awkward, especially with spaces and parenthesis..
    • I’ve been anxiously following this project from the beginning as a long time BBasic and BMax user (and Blitz Plus, and Monkey 1..).  I have been donating via Patreon since Mark made the option available, but not because I have used it at all – just because I think it’s an important project.  So this is my first go with the language.  Very very nice!

    Thanks for the information guys, I’m excited to get things fully set up to test out other targets



    -Most bananas are using Vsync signal, so it’s supposed to run at your screen refresh rate (which is usually 60FPS). But some use a timer, I don’t remember which one though. You can search for the word Timer in the files and you’ll find them.
    -I don’t think anybody has solved the non-launchable icon problem.
    -nice indeed!



    I looked into the whole “shared library” executable problem.


    The problem is not with Monkey, it’s with newer versions of GCC using the -pie option (PIE= Position Independent Executable, a newer security feature).  Because of this, anything compiled with it will appear to Nautilus file manager as a shared library rather than an executable.  I’ve read through tons of bug reports and complaints about the new behavior, and Nautilus devs don’t think it’s their job, the GCC devs don’t think it’s theirs, etc..

    However, we can pass the -no-pie parameter to the linker to make “older style” executables.  I did a quick test and it worked beautifully!

    I added -no-pie to the MX2_LDS_OPTS in bin/env_linux.txt than ran a rebuild2go

    Now my executables launch as normal and even have the correct executable icon



    just filed a bug report for mark to consider this for Monkey2 default



    Thanks to all the help I got on this.
    I eventually gave up and started again – it works!!!!
    Here’s what I did:
    – Linux Mint 64bit Sylvia

    sudo apt-get install g++ xorg-dev qtcreator libopenal-dev libgl1-mesa-dev libsdl2-dev
    sudo apt-get install build-essential

    $ chmod +x scripts/*.sh
    $ chmod +x bin/mx2cc_linux
    $ cd scripts
    $ ./

    Afterwards there was a bin/ted2_linux/ted2 binary which enabled starting to code.

Viewing 7 posts - 31 through 37 (of 37 total)

You must be logged in to reply to this topic.