ObjectTalk Installation
The ObjectTalk package is written in C++ and can be compiled on MacOS, Linux and Windows. To simplify the build process, CMake is used to deal with cross-platform challenges. Right now, all platforms support the build process from the command line using very simple instructions. MacOS and Windows also support using visual development environments like Xcode and Visual Studio (Code).
ObjectTalk uses a large number of 3rd party Open Source packages. The CMake process automatically loads the correct versions, compiles them and links them into the ObjectTalk executable (simply named ot). No endless downloads, frustrations over each package's peculiarities or countless Google searches. The plan is to just support it out of the box.
Below are simple instructions for each of the supported platforms followed by some hints that apply to all platforms.
ObjectTalk is supported on Tahoe (MacOS 26), Sequoia (MacOS 15) and Sonoma (MacOS 14). There are 6 simple requirements to get your machine ready for ObjectTalk development:
To build ObjectTalk, do the following from the command line:
ObjectTalk is supported on Linux. Given the large number of flavors, the core team only tests the build process on Ubuntu 24.04 Desktop. In practice, any distribution should work as it just depends on the availability of X-Windows, Wayland and Vulkan. Other flavors of Linux will likely work as well but we'll let the community provide the instructions.
To build the full version of ObjectTalk on Ubuntu 24.04 Desktop with GUI and IDE, run the following commands:
Install additional software using sudo apt-get install build-essential git make pkg-config cmake ninja-build libasound2-dev libpulse-dev libaudio-dev libfribidi-dev libjack-dev libsndio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev vulkan-validationlayers
cd [to your favorite build directory]
If your favorite directory is on a mounted drive, you might have to do a git config --global --replace-all safe.directory '*'
git clone https://github.com/goossens/ObjectTalk.git
cd ObjectTalk
Create a debug version with make debug or create a release version with make release
You can run the test suite for the language with make test or make rtest depending on the build type
The created binary will be ${HOME}/build/ObjectTalk/Debug/ot or ${HOME}/build/ObjectTalk/Release/ot depending on the build type
ObjectTalk is supported on Windows 11 and Server 2025. There are 3 simple requirements to get your machine ready for ObjectTalk development:
To build ObjectTalk, do the following from the command line:
Once you have compiled ObjectTalk, you end up with a single executable in one of the build directories depending on the platform or the method used. This executable can be moved anywhere.
In principle, the ObjectTalk executable (ot) is a command line tool that takes parameters. Here is the help you get when you run ot -h:
Usage: ot [--help] [--version] [--child] [--log filename] [files]...
Positional arguments:
files files to process [nargs: 0 or more]
Optional arguments:
-h --help shows help message and exits
-v --version prints version information and exits
-c, --child run as an IDE child process (internal use only)
-l, --log filename specify a file to send log to
Startup logic:
If compiled with UI
If one file is specified on the command line
do the following based on file extension
.ot - compile and run script
.ota - open audio in IDE
.ots - run scene file
.otn - open nodes in IDE
.* - open file in IDE
Elseif more than one files is specified on the command line
Open all files in the IDE
Elseif no files are specified on the command line
Start IDE
Else
If one file is specified on the command line
If file is .ot
compile and run script
Else
Exit with error
Else
Exit with error