Carbon interface FAQ

From Lazarus wiki
Jump to navigationJump to search

This is a list of frequently asked questions and problems about Carbon interace.

What's the state of Carbon interface?

The Carbon interface is not yet completed but is under permanent development to reach state of stable interfaces. You can find out current status at Roadmap#Status of features on each widgetset and Roadmap#Status of components on each widgetset. You should also look at Carbon interface internals#Compatibility issues.

What's the state of Lazarus IDE under Carbon interface?

Although it is possible to run Lazarus IDE compiled for Carbon interface, it is not yet suitable for developing. You can help by reporting bugs at Carbon interface internals#Carbon IDE Bugs.

When I execute application compiled for Carbon interface, it can't be focused

You have to execute Carbon application via Application Bundle. See Carbon Interface#Creating the Apple resource files how to create one.

I got an linking error when building Carbon application

You have forgotten to pass options to the linker to use Carbon Framework. See Carbon Interface#Compiler Options.

How can I rebuild LCL or Lazarus IDE for Carbon interface via terminal?

You can use the following command in Lazarus directory:

  • for LCL:
make lcl LCL_PLATFORM=carbon
  • for Lazarus IDE:
make all LCL_PLATFORM=carbon OPT="-k-framework -kCarbon -k-framework -kOpenGL"

under Leopard (OS X 10.5.x):

make all LCL_PLATFORM=carbon OPT="-k-framework -kCarbon -k-framework -kOpenGL -k'-dylib_file' \
    -k'/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib'"

I get error "make: -iVSPTPSOTO: Command not found" when I try to rebuild LCL or Lazarus IDE for Carbon interface via terminal.

The reason of this error is, that Free Pascal Compiler executables are not found in search path. You must add their path to the terminal profile, which is located at your home directory:

  • for Bash terminal in ".profile" file (e.g. use command "open -e ~/.profile" in terminal). At the end of file add this line:
export PATH=$PATH:/usr/local/bin
  • for tcsh terminal in ".tcshrc" or ".cshrc" or ".login" file (e.g. use command "open -e ~/.cshrc" in terminal). At the end of file add this line:
append_path PATH /usr/local/bin

, where "/usr/local/bin" is path to FPC executables. Save the result. It should work after terminal restart.