Support

Unlike the other supported platforms, macOS has no standard way to uninstall; so TinyBuilder provides one.

To uninstall the client, execute the following in the terminal:

/Library/com.tinymanagement.tbuild/uninstall.client.sh

To uninstall the server, execute the following in the terminal:

/Library/com.tinymanagement.tbuilder/uninstall.server.sh

The above will uninstall all files and remove themselves from launchd. No reboot is required.

When running a script from a Windows client on a non-Windows server, the script is not found. If the interpreter is specified on the command line, the script is found.

Windows text editors and git frequently change the line endings of a file to include the CR code point. As a result, scripts making use of the hash bang convention become:

#!/bin/sh^M

Since the file name does not end with a carriage return, the interpreter is not found, but the resulting error implies the script was not found.

To resolve this problem, ensure the text editor does not use CR in its line endings.

To resolve the problem if it was caused by git, use the core.autocrlf setting described here: https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration.

On a Windows server, the child of a child process started by TinyBuilder simply disappears without any output.

The problem is due to how the console output is handled in Windows. If the stdin/stdout/stderr has not already been redirected, the Windows C runtime will attempt to open the appropriate console device. However, since the server is running in the background, the attempt to open the device fails and the C runtime simply exits. This is not a problem for processes started by the TinyBuilder server since the console input and output have already been redirected.

The workaround for this problem is every child process of every command started by TinyBuilder must redirect the stdin/stdout/stderr.

A second workaround for this problem is to use the agent instead of the server. When started by the agent, an attempt to open the console device will succeed and the process will execute. However, a command window will open and all output will go there. So while the execution may complete successfully, the output will still be lost.

A command that was working stops working after a tool chain update. The error is either file not found or path not found.

To speed execution, the TinyBuilder server keeps a path cache. When an executable is found using the PATH environment variable, its location is kept in the path cache. If a tool chain update moves the file, the server will no longer be able to find it.

The path cache is not persistent, so restarting the server will fix the problem.