I meant to mention in my original message that I needed to add

OPT=-Fl/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib

to the end of the make distclean install I use to compile the trunk compiler.

My fpc.cfg also has #ifdef darwin, rather then #ifdef i386.

Colin


On 08/10/2018 22:19, Michael Ring wrote:
I just realized on a freshly set up computer that there is one more issue, I tried to build the trunk x86_64 compiler and compile fails:

/bin/mkdir -p x86_64/units/x86_64-darwin
/Applications/Xcode.app/Contents/Developer/usr/bin/make ./msg2inc
/usr/local/bin/ppcx64 -Ur -Xs -O2 -n -Fux86_64 -Fusystems -Fu/Users/ring/devel/fpc/rtl/units/x86_64-darwin -Fix86_64 -FE. -FUx86_64/units/x86_64-darwin -dRELEASE    -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew -FE. utils/msg2inc.pp
ld: file not found: /usr/lib/crt1.10.5.o
An error occurred while linking
msg2inc.pp(822,51) Error: Error while linking
msg2inc.pp(822,51) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted


problem is that ppcx64 is called with option -n so fpc.cfg gets ignored.


I guess the only way to fix this is to change the makefile itself.


Also, one thing I do not understand in /etc/fpc.cfg installed by the 3.0.4a installer, why if -Fl ifdef'ed for i386 only?

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



Here's the patch for the makefile that worked for me:

Index: compiler/Makefile
===================================================================
--- compiler/Makefile    (revision 39905)
+++ compiler/Makefile    (working copy)
@@ -4248,7 +4248,7 @@
 clean: tempclean execlean cleanall $(addsuffix _clean,$(CPC_TARGET)) $(addsuffix _clean,$(TARGET_DIRS))  distclean: tempclean execlean cleanall $(addsuffix _clean,$(ALLTARGETS)) $(addsuffix _distclean,$(TARGET_DIRS))  $(MSG2INC): $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(COMPILERUTILSDIR)/msg2inc.pp
-    $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp
+    $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp -Fl/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
 msgtxt.inc: $(MSGFILE)
     $(MAKE) $(MSG2INC)
     $(MSG2INC) $(MSGFILE) msg msg
@@ -4328,7 +4328,7 @@
 endif
     $(COMPILER) version.pas
 endif
-    $(COMPILER) pp.pas
+    $(COMPILER) pp.pas -Fl/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
     $(EXECPPAS)
     $(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)
 .PHONY: cycle fullcycle wpocycle
Index: compiler/Makefile.fpc
===================================================================
--- compiler/Makefile.fpc    (revision 39905)
+++ compiler/Makefile.fpc    (working copy)
@@ -538,7 +538,7 @@
 #####################################################################

 $(MSG2INC): $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(COMPILERUTILSDIR)/msg2inc.pp
-        $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp
+        $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp -Fl/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib

 # The msgtxt.inc only depends on the error?.msg file, not on msg2inc,
 # because that one will be new almost everytime
@@ -641,7 +641,7 @@
 endif
         $(COMPILER) version.pas
 endif
-        $(COMPILER) pp.pas
+        $(COMPILER) pp.pas -Fl/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
         $(EXECPPAS)
         $(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)

Michael

Am 07.10.18 um 19:38 schrieb Jonas Maebe:
On 06/10/18 16:01, C Western wrote:
Possibly unwisely, I updated by Mac to Mojave. I found that things (including 32 bit apps) worked, but:

I had to add

-Fl/Applications/Xcode.app/Con
tents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib

to my fpc.cfg to avoid "/usr/lib/crt1.o not found" errors. It seems as though the startup files are no longer in /usr/lib

I've created an FPC 3.0.4a release for macOS yesterday that adds the appropriate directives to /etc/fpc.cfg (no changes to the compiler).


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to