Pascal mac os sierra

Mac Installation FAQ

This article applies to macOS only.

This page lists solutions to the most frequent problems that may arise during (and after) installation of Lazarus and Free Pascal on macOS. Please read Installing Lazarus on macOS first and pay special attention to the sections that apply to your versions of macOS, Xcode, Lazarus and Free Pascal.

Contents

Lazarus doesn’t run project

After moving to macOS or after upgrading to a new version of macOS Lazarus is unable to compile and run a project.

Solution: Most likely, this behaviour results from missing command line tools. In newer versions of Xcode they are no longer installed by default. You can install them by running

from the terminal. See also Installing Lazarus on macOS for more details.

Compilation aborts with weird messages

I have correctly installed Lazarus and FPC, but compiling a simple demo program stops with the Free Pascal exit code 256 and the message «Lazarus Panic /bin/sh: clang: command not found».

Solution: This behaviour may arise from a too old Xcode version installed. Generally, you should use the newest Xcode version that is available for your operating system. Lazarus 1.6 requires, e.g., Xcode 3.2.6, or newer. With Xcode 4.3 or newer, you should also install the Xcode command line tools as described above or in the article Installing Lazarus on macOS.

ld: symbol(s) not found for architecture i386

I am trying to compile a blank project on Catalina immediately after installing FPC and Lazarus but I get this error «ld: symbol(s) not found for architecture i386».

Solution: Go to Lazarus > Tools > Options, if your compiler may be set to ppc386 (32 bit), then change it to ppcx64 (64 bit) or fpc (a wrapper that should choose the correct compiler). There is no 32 bit support in Catalina. In the trunk version of Lazarus, the Lazarus > Tools > Options menu has been moved to the Lazarus > Preferences menu

Debugger not found

I have installed the latest version of Lazarus on a new Mac. My program is built fine, but when I try to run it I get a message that the debugger /usr/bin/gdb doesn’t exist or isn’t runnable.

Solution: Since version 5, Xcode does not include the GDB debugger but the LLDB debugger. For recent versions of macOS, go to the Tools > Options | Debugger menu and choose «LLDB debugger (with fpDebug) (Beta)» and set the executable to /usr/bin/lldb.

Solution (legacy): Xcode v5 no longer includes the GDB debugger. See GDB on OS X Mavericks or newer and Xcode 5 or newer for possible solutions unless you are running a recent version of macOS (in which case, see above).

Form not shown after moving to Mac

My application works well on Windows and Linux, but after changing to Mac my forms are invisible. I tried to re-scan the FPC source directory, and I clicked «Create Bundle», but this didn’t solve the problem. Unlike my app, a very simple demo application works well.

Solution: This may result from a wrong position setting of your form(s). Your Windows machine may have a multi-monitor setup, so that the forms are outside the visible area of a single-monitor environment, i.e. if your Mac has only one monitor. You should check and correct the top and left properties of your forms in the object inspector. (Of course, this also applies in the other direction, i.e. if you have a multi-monitor Mac and a single-monitor Windows or Linux machine).

Form not responding to mouse clicks

After starting the program the form is visible, but not responding to interaction via the user interface.

Читайте также:  Бесконечная загрузка windows store

Solution: Programs for macOS-based systems are more complex than programs for Windows or Linux. They require the existence of an application bundle, a special opaque directory structure, which determines the modalities of interaction with the operating system and the GUI. You may create an application bundle in the project settings or alternatively via shell commands. Make sure that the option Use Application Bundle for running and debugging (for Darwin) is checked.

fpcsrc not present

After installing and first running Lazarus, the welcome window complains that the directory «/usr/local/share/fpcsrc» is not found.

Solution: You have to install fpcsrc. This is a Lazarus-specific installer package that comes with your distribution of Lazarus. If you have downloaded Lazarus from SourceForge you find fpcsrc in the same server directory as the Lazarus package.

Multiple error messages after upgrading Lazarus and/or FPC

After upgrading Lazarus and/or Free Pascal to a new major version, trying to compile my code results in multiple error messages.

Solution: This behaviour may have multiple reasons. After every major upgrade you should rescan the FPC source directory. If this doesn’t help it may be useful to delete the file fpcdefines.xml (it is within the

/.lazarus folder). Additionally, you should check your code for incompatibilities that may result from changes in the compiler (although this is quite rare with code that is not too unusual). See Category:FPC User Changes by release for intentional changes to the compiler that may break existing code.

Unit XY not found

I have freshly installed a new version of Lazarus on my machine. Trying to compile an application results in the error message «Error: unit not found: XY». (XY is a place holder for any unit name.)

Solution: Try to re-scan your FPC source directory via the Tools. menu of the IDE.

Fatal: Cannot find [. ] used by [. ], incompatible ppu=[filename], package [package name]

When the compiler gives the message «Cannot find A used by B», Lazarus checks what pas/pp/ppu files are in the search path, and if there is a ppu file it inserts «incompatible ppu=filename, package».

Explanation: FPC cannot use this ppu for one of these reasons:

  • it was compiled with another FPC version;
  • it was compiled with (depends on) some other ppu files that are not in the search path;
  • you misconfigured some search path(s).

Solutions: (1) Check that you have the current Xcode (optional — see here) and Xcode command line tools package (mandatory) installed; (2) Lazarus > Menu > Tools > Configure Build Lazarus — Find and check «Clean all» and then Build. If that doesn’t work, I’d be tempted to delete both FPC + Lazarus and start again. See Uninstalling Lazarus and Free Pascal.

Error: User defined: only cpu i386 is supported

When compiling Lazarus on macOS I receive this error: carbonbars.pp(16,2) Error: User defined: only cpu i386 is supported

Error: ld: framework not found Cocoa

When compiling Lazarus on macOS I receive this error: Error: ld: framework not found Cocoa

Solution: You forgot to install the Xcode command line tools or they’ve since been deleted. See Installing Xcode Command Line Tools to resolve. You may also need to re-install FPC _after_ installing the Xcode command line tools so that it can find the macOS frameworks.

Error ppc1 not found

When compiling the Free Pascal Compiler on macOS I receive this error:

Solution: GNU Make does not handle directory names with spaces in them. Rename «fpc trunk» to «fpc_trunk» or similar and it should work without this error.

Error: library (X11 or Truetype) not found

If you are compiling X11 applications (typically using fpGui) FPC needs to know where to find the libX11.dylib and libfreetype.dylib libraries. If FPC cannot find these libraries, you will receive a library not found error during linking.

Solution: Depending on your version of macOS or XQuartz these may be found in /usr/X11/lib or /opt/X11/lib with a symlink from /usr. The best solution to this is probably to edit /etc/fpc.cfg and add the line «-Fu/usr/X11/lib«

Читайте также:  Canon dr 2510c драйвер windows 10 wia

Application does not accept keyboard input

After compiling my application, I cannot enter anything in the edit boxes and the application will not accept any keyboard input.

Solution: You forgot to create an application bundle. Lazarus > Project > Project Options > Application — Create Application Bundle.

Warning arm64 function not 4-byte aligned

When compiling on an Apple Silicon M1 processor, I get a «warning arm64 function not 4-byte aligned» for every function.

Solution: That’s probably a consequence of using -Os. That setting unconditionally sets procalign (jump align) to 1. That’s definitely wrong for AArch64 and a bunch of other architectures. There is no «minimum required alignment» for these settings defined yet anywhere in the compiler, so that will need to be added. In the meantime, do not use -Os to optimize size.

Resource compiler «fpcres» not found

When compiling an application after installing or compiling a new Lazarus version, it fails with the error «Error (9021) Resource compiler «fpcres» not found, switching to external mode«

Solution: Create a file called .fpc.cfg (note the leading dot in the filename) in your home directory and add the lines:

If the file already exists it should contain the first of the lines above, so just add the second line.

Other questions

I didn’t find my issue here.

Solution: You might find a possible solution at the Lazarus and Free Pascal Forum. Otherwise, you might ask your question there.

Источник

nvgrw / TP_Mac_Setup.markdown

TurboPascal on Mac

Note: probably 99% of this tutorial (excluding installation and folder structure) is DOSBox- and not Mac-specific. As long as your computer can run DOSBox you should be able to convert the steps to work on Windows.

1. Downloading & Installing DOSBox

DOS apps don’t run natively on OS X, so we use DOSBox to emulate DOS for us.

1a. Downloading DOSBox

Navigate to the official DOSBox download page and select the latest Mac OS X version (at the time of writing this is for DOSBox 0.74). It will kick you over to SourceForge where your download will start after a couple of seconds.

1b. Installing DOSBox

Go to where you saved the DOSBox disk image to (for me it’s the Downloads directory) and double click it to mount it.

Finder should automatically reveal the contained filesystem, however if it doesn’t just double click the appropriate icon in the Finder sidebar.

If you want more details on how DOSBox works, feel free to open the ReadMe.txt file, but for now just drag the DOSBox.app into your /Applications directory. If you are having trouble finding this, just click the Finder icon in your Dock, hit ⌘⇧G, enter /Applications in the modal that appears and then press ⏎ (Return).

2. Downloading & Installing TurboPascal

Without TurboPascal we’d just have a DOS terminal. Such fun.

2a. Downloading TurboPascal

Because TurboPascal is so old, it was actually quite difficult finding the binaries for it. These from borlandc.org work for me but if you have different binaries that you’d prefer using then go right ahead.

2b. Installing TurboPascal

To use TurboPascal we need to «install» it. You could use any location on your filesystem for TurboPascal but I tend to place these things in my home directory so I can find them easily.

But first, extract the pascal.zip that you downloaded from borlandc.org. The resulting directory should be called TP . I renamed it to TurboPascal because that way it’s easier to know what it is. On UNIX-like systems the home directory is where everything specific to you goes. The path varies from Mac to Mac, depending on your setup (my home directory is on a separate hard drive), so if you don’t know where your home directory is: move the focus to Finder (by selecting Finder in the Dock) and press ⌘⇧G. In the resulting modal, just enter

and press ⏎ (Return).

Copy or cut your TurboPascal over to your home directory, such that the resulting path is

/TurboPascal . This’ll be important later.

3. Setting up DOSBox with TurboPascal

3a. Mounting and setting up a filesystem

Now that TurboPascal is installed, it’s time to fire up DOSBox.

Читайте также:  Last update file linux

You’ll have to «mount» your current Mac filesystem by assigning it to a drive letter.

First we’ll mount TurboPascal. I chose A as the drive letter, but you could choose anything. for any of the following, type only what is after the > sign

Next we’ll mount the rest of our home directory so that we can open and save a file within TurboPascal. You can also mount a specific directory if you’d prefer not navigating a large file tree.

The first of these commands mounts your home directory (

) as the C drive. The second changes the current drive to your home directory. We’ll change the working directory of TurboPascal so that navigating the file structure isn’t such a pain and so that all files TurboPascal generates for your project stay in one location. Alternatively you could also mount C / , but this is not recommended (you don’t want to give an ancient operating system permission to potentially overwrite OS X).

Where you place your projects is up to you. I ran these commands to create a directory within my home directory dedicated to Pascal projects:

3b. Running TurboPascal

This tutorial assumes your current directory is C:\PASPRO .

You have several choices now. You can either use the «blue window» TurboPascal that we use at College or you can use an external editor. I’ll cover both.

3b-i. Using «blue window» TurboPascal

To start «blue window» TurboPascal, run the following:

Actually we’re not quite done yet: you may notice that you can’t move your mouse cursor. I’ve found that double clicking the blue area of the window makes DOSBox capture your mouse cursor, but if it does not you may need to press CTRL+F10 (CTRL+Fn+F10 if F10 mutes your Mac). Performing this shortcut again releases the mouse as well.

Now you can write code 😀

You’ll also find all your code and .exe files in

3b-ii. Using an external editor

If you’d prefer using an external editor such as GitHub Atom or Sublime Text (use 3, it supports Pascal highlighting) then… follow along.

Make changes to your .PAS files with your editor of choice. When it comes to running, you will have to invoke the compiler manually.

In this case HIWORLD refers to your code file, HIWORLD.PAS (or whatever it may be). The compiler is smart enough to know that they end in .PAS and will compile it to a .EXE file called HIWORLD.EXE .

If it compiles successfully you’ll see something like this:

If it doesn’t, the output will usually tell you the error and the line it ocurred on.

Assuming you have compiled your program in a similar matter, you can run your application without adding .EXE to the end.

Extra bits and bobs

I actually tend to create small batch files that compile the program and then run it. One of these may be called CR.BAT (CR = Compile Run) and look like this.

If you have this kind of setup you can edit your code and compile+run it by just running CR .

4. Automating your setup

Of course you don’t want to type all these things every time you start DOSBox. If you want your DOSBox to launch just like it does at College you’ll have to add the commands you wish to run to the DOSBox configuration file.

The file we’ll be editing is

/Library/Preferences/DOSBox 0.74 Preferences you can either directly edit it by opening a terminal and typing

or you can click Finder in the dock, press ⌘⇧G, enter

/Library/Preferences , press ⏎ (Return), and double click the file entitled DOSBox 0.74 Preferences .

Once you’ve opened the DOSBox configuration file, scroll to the bottom to find [autoexec] and add your startup lines below this.

If you’ve followed the tutorial fully, something like this will make DOSBox mount the correct directories, change directory to our project directory ( PASPRO ), and finally execute TPX , the TurboPascal Integrated Development Environment (IDE).

5. That’s it. Write some programs.

Thanks for reading. Hopefully it helped those who couldn’t get TurboPascal running on their Mac (or on Windows).

Источник

Оцените статью