[fpc-devel] MacOS Mojave beta - crt1.o not installed to /usr/lib

Michael Ring mail at michael-ring.org
Sun Jul 1 22:18:41 CEST 2018


We've had this discussion (Jonas and me) a looong time ago (2013) with 
MacOS Maverics....

In the past, when xcode commandline tools was installed it created a 
link to crt1.10.5.o in /usr/lib.

It now seems that this is not done anymore (at least not on my 
computer...) and as /usr/lib is write protected for root in newer 
versions of MacOSX it is not that easy to create a link by hand.

The good news is that

clang -print-search-dirs

programs: =/Library/Developer/CommandLineTools/usr/bin
libraries: =/Library/Developer/CommandLineTools/usr/lib/clang/10.0.0

returns a libraries path that helps finding a valid crt1.(10.5).o file:

find /Library/Developer/CommandLineTools/ -name "crt1*"
/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/usr/lib/crt1.o
/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/usr/lib/crt1.10.5.o
/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/usr/lib/crt1.10.6.o

I managed to get a successful compile by doing this:

make clean buildbase CPU_TARGET=x86_64 INSTALL_PREFIX=$HOME/3.1.1 
FPCOPT="-XR/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/"

and patching my /etc/fpc.cfg to include:

#ifdef cpui386
-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/
-Fl/Library/Developer/CommandLineTools/usr/lib/clang/10.0.0
#endif
#ifdef cpux86_64
-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/
-Fl/Library/Developer/CommandLineTools/usr/lib/clang/10.0.0
#endif


both actions were needed for a successful compile...


Is there a better way to make compiles work on Mojave?


Michael









More information about the fpc-devel mailing list