Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
@alexione: hmm...I have downloaded the trunk fpc, but I have some questions.
1. Do I set the %OUTPATH% string to the fpc folder that I just downloaded from SVN?
2. Where do I put the batch file to do the compiling that you gave me? In the root fpc folder in 1 ?
cheers,
Paul
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Hmm...I think I may have figured it out...trying to compile it now
cheers,
Paul
Last edited by paul_nicholls; 18-04-2011 at 03:28 AM.
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Dang! The compiler sat there compiling for x amount of time, and then bombed with an error
Here is the last part of the dos output:Code:Error: Util as.exe not found, switching to external linking
I don't know what happened...do you think this means I need something path in my path environmental variable or similar?Code:mpiler/i386 -FuG:/fpc/2.5.1/compiler/targets -FuG:/fpc/2.5.1/compiler/systems -F uG:/fpc/2.5.1/rtl/units/i386-win32 -FiG:/fpc/2.5.1/compiler -FiG:/fpc/2.5.1/comp iler/i386 -FE. -FUG:/fpc/2.5.1/ide/units/i386-win32 -dRELEASE compunit.pas aasmtai.pas(396,11) Warning: Constructor should be public pdecsub.pas(1630,5) Warning: unreachable code symdef.pas(3480,12) Warning: unreachable code symdef.pas(3618,12) Warning: unreachable code symdef.pas(5424,10) Warning: User defined: : this is completely wrong on so many levels... pmodules.pas(2357,12) Warning: unreachable code ognlm.pas(1317,18) Warning: unreachable code t_nwm.pas(973,38) Warning: Function result does not seem to be set agx86att.pas(253,16) Warning: unreachable code browcol.pas(1264,5) Note: Local variable "esym" not used make[5]: Leaving directory `G:/fpc/2.5.1/ide/compiler' make[4]: Leaving directory `G:/fpc/2.5.1/ide' C:/lazarus/fpc/2.4.2/bin/i386-win32/make testgdb make[4]: Entering directory `G:/fpc/2.5.1/ide' LibGDB not found LIBGDBFILE= GDBLIBDIR=G:/fpc/2.5.1/libgdb/win32 make[4]: Leaving directory `G:/fpc/2.5.1/ide' C:/lazarus/fpc/2.4.2/bin/i386-win32/make fpc_all make[4]: Entering directory `G:/fpc/2.5.1/ide' G:/fpc/2.5.1/compiler/ppc386.exe -di386 -Ur -Xs -O2 -n -Sg -FuG:/fpc/2.5.1/rtl/u nits/i386-win32 -FuG:/fpc/2.5.1/packages/fv/units/i386-win32 -FuG:/fpc/2.5.1/pac kages/gdbint/units/i386-win32 -FuG:/fpc/2.5.1/packages/regexpr/units/i386-win32 -FuG:/fpc/2.5.1/packages/fcl-base/units/i386-win32 -FuG:/fpc/2.5.1/packages/fcl- xml/units/i386-win32 -FuG:/fpc/2.5.1/packages/chm/units/i386-win32 -FE. -FUunits /i386-win32 -dRELEASE -dNODEBUG -Xe -k--allow-multiple-definition fp.pas fp.pas(552,1) Error: Util as.exe not found, switching to external linking fp.pas(552,1) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted make[4]: *** [fp.exe] Error 1 make[4]: Leaving directory `G:/fpc/2.5.1/ide' make[3]: *** [buildfp] Error 2 make[3]: Leaving directory `G:/fpc/2.5.1/ide' make[2]: *** [gdb] Error 2 make[2]: Leaving directory `G:/fpc/2.5.1/ide' make[1]: *** [ide_all] Error 2 make[1]: Leaving directory `G:/fpc/2.5.1' make: *** [build-stamp.i386-win32] Error 2 G:\fpc\2.5.1>if errorlevel 1 goto quit G:\fpc\2.5.1>pause Press any key to continue . . .
This is my compile script batch file that I placed in the g:\fpc\2.5.1 folder contain the SVN source and make file, etc.:
G:/dev/fpc/2.5.1 is where I want to install? freepascal 2.5.1, and C:/lazarus/fpc/2.4.2 is where (obviously, DUH!) where I have the existing freepascal comiler...Code:set FPCMAKEPATH=C:/lazarus/fpc/2.4.2 set FPCPATH=C:/lazarus/fpc/2.4.2 set OUTPATH=G:/dev/fpc/2.5.1 for /r %OUTPATH%\examples %%d in (.svn) do @rmdir /s /q %%d %FPCMAKEPATH%/bin/i386-win32/make clean FPC=%FPCPATH%/bin/i386-win32/ppc386.exe if errorlevel 1 goto quit %FPCMAKEPATH%/bin/i386-win32/make all FPC=%FPCPATH%/bin/i386-win32/ppc386.exe if errorlevel 1 goto quit %FPCMAKEPATH%/bin/i386-win32/make install FPC=%FPCPATH%/bin/i386-win32/ppc386.exe INSTALL_BASEDIR=%OUTPATH% for /r %OUTPATH%\examples %%d in (.svn) do @rmdir /s /q %%d :quit pause
cheers,
Paul
Last edited by paul_nicholls; 18-04-2011 at 06:13 AM.
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
It has nothing to do with directories. The problem is that you don't have binutils's gas assembler(as.exe) in your path. This is for some reason required when building the textmode IDE
Peregrinus, expectavi pedes meos in cymbalis
Nullus norvegicorum sole urinat
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Sweet! I think it worked...no errors now
Here is the updated batch file:
All I have to do is try it out now with LazarusCode:set PATH=%PATH%;C:\lazarus\fpc\2.4.2\bin\i386-win32 set FPCMAKEPATH=C:/lazarus/fpc/2.4.2 set FPCPATH=C:/lazarus/fpc/2.4.2 set OUTPATH=G:/dev/fpc/2.5.1 for /r %OUTPATH%\examples %%d in (.svn) do @rmdir /s /q %%d %FPCMAKEPATH%/bin/i386-win32/make clean FPC=%FPCPATH%/bin/i386-win32/ppc386.exe if errorlevel 1 goto quit %FPCMAKEPATH%/bin/i386-win32/make all FPC=%FPCPATH%/bin/i386-win32/ppc386.exe if errorlevel 1 goto quit %FPCMAKEPATH%/bin/i386-win32/make install FPC=%FPCPATH%/bin/i386-win32/ppc386.exe INSTALL_BASEDIR=%OUTPATH% for /r %OUTPATH%\examples %%d in (.svn) do @rmdir /s /q %%d :quit pause
cheers,
Paul
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Woo Hoo! My TVector2f record with class operators compiles now
Thanks so much JSoftware and alexione!
cheers,
Paul
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Ok, now I'm having another issue...it is obviously because I am using a different version of FPC to compile my Lazarus projects now, but I am not sure what to do about it
My Lazarus projects can't find standard units like IniFiles, Contnrs, etc. and I am unsure how to proceed.
Here is a screenshot of my Lazarus Environmental (Files) options:
And here is my fpc.cfg file (version 2.4.2, the 2.5.1 doesn't have one):
Any ideas?Code:# # Config file generated by fpcmkcfg on 11/04/2011 - 22:24:39 # Example fpc.cfg for Free Pascal Compiler # # ---------------------- # Defines (preprocessor) # ---------------------- # # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed # # -d is the same as #DEFINE # -u is the same as #UNDEF # # # Some examples (for switches see below, and the -? helppages) # # Try compiling with the -dRELEASE or -dDEBUG on the commandline # # For a release compile with optimizes and strip debuginfo #IFDEF RELEASE -O2 -Xs #WRITE Compiling Release Version #ENDIF # For a debug version compile with debuginfo and all codegeneration checks on #IFDEF DEBUG -glh -Crtoi #WRITE Compiling Debug Version #ENDIF # ---------------- # Parsing switches # ---------------- # Pascal language mode # -Mfpc free pascal dialect (default) # -Mobjfpc switch some Delphi 2 extensions on # -Mdelphi tries to be Delphi compatible # -Mtp tries to be TP/BP 7.0 compatible # -Mgpc tries to be gpc compatible # -Mmacpas tries to be compatible to the macintosh pascal dialects # # Turn on Object Pascal extensions by default #-Mobjfpc # Assembler reader mode # -Rdefault use default assembler # -Ratt read AT&T style assembler # -Rintel read Intel style assembler # # All assembler blocks are AT&T styled by default #-Ratt # Semantic checking # -S2 same as -Mobjfpc # -Sc supports operators like C (*=,+=,/= and -=) # -Sa include assertion code. # -Sd same as -Mdelphi # -Se<x> compiler stops after the <x> errors (default is 1) # -Sg allow LABEL and GOTO # -Sh Use ansistrings # -Si support C++ styled INLINE # -SI<x> set interface style to <x> # -SIcomCOM compatible interface (default) # -SIcorbaCORBA compatible interface # -Sm support macros like C (global) # -So same as -Mtp # -Sp same as -Mgpc # -Ss constructor name must be init (destructor must be done) # -St allow static keyword in objects # # Allow goto, inline, C-operators, C-vars -Sgic # --------------- # Code generation # --------------- # Uncomment the next line if you always want static/dynamic units by default # (can be overruled with -CD, -CS at the commandline) #-CS #-CD # Set the default heapsize to 8Mb #-Ch8000000 # Set default codegeneration checks (iocheck, overflow, range, stack) #-Ci #-Co #-Cr #-Ct # Optimizer switches for i386 compiler # -Os generate smaller code # -O1 level 1 optimizations (quick optimizations) # -O2 level 2 optimizations (-O1 + slower optimizations) # -O3 level 3 optimizations (same as -O2u) # -Oa=N set alignment to N # -OoX switch on optimalization X. # -OoNOX switch off optimalization X. # X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL # -OpCPU set target processor. # CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM # ----------------------- # Set Filenames and Paths # ----------------------- # Both slashes and backslashes are allowed in paths # path to the messagefile, not necessary anymore but can be used to override # the default language #-Frc:\lazarus\fpc\2.4.2/msg/errore.msg #-Frc:\lazarus\fpc\2.4.2/msg/errorn.msg #-Frc:\lazarus\fpc\2.4.2/msg/errores.msg #-Frc:\lazarus\fpc\2.4.2/msg/errord.msg #-Frc:\lazarus\fpc\2.4.2/msg/errorr.msg # path to the gcclib #-Flc:\lazarus\fpc\2.4.2/lib #IFDEF FPCAPACHE_1_13 -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/httpd13/ #ELSE #IFDEF FPCAPACHE_2_0 -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/httpd20 #ELSE -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/httpd22 #ENDIF #ENDIF # searchpath for units and other system dependent things -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/ -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/* -Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/rtl # searchpath for libraries #-Flc:\lazarus\fpc\2.4.2/lib #-Fl/lib;/usr/lib # searchpath for tools -FDc:\lazarus\fpc\2.4.2/bin/$FPCTARGET # binutils prefix for cross compiling #IFDEF FPC_CROSSCOMPILING -XP$FPCTARGET- #ENDIF # ------------- # Linking # ------------- # generate always debugging information for GDB (slows down the compiling # process) # -gc generate checks for pointers # -gd use dbx # -gg use gsym # -gh use heap trace unit (for memory leak debugging) # -gl use line info unit to show more info for backtraces # -gv generates programs tracable with valgrind # -gw generate dwarf debugging info # # Enable debuginfo and use the line info unit by default #-gl # always pass an option to the linker #-k-s # Always strip debuginfo from the executable -Xs # ------------- # Miscellaneous # ------------- # Write always a nice FPC logo ;) -l # Verbosity # e : Show errors (default) d : Show debug info # w : Show warnings u : Show unit info # n : Show notes t : Show tried/used files # h : Show hints m : Show defined macros # i : Show general info p : Show compiled procedures # l : Show linenumbers c : Show conditionals # a : Show everything 0 : Show nothing (except errors) # b : Show all procedure r : Rhide/GCC compatibility mode # declarations if an error x : Executable info (Win32 only) # occurs # # Display Info, Warnings, Notes and Hints -viwn # If you don't want so much verbosity use #-vw
cheers,
Paul
Games:
Seafox
Pages:
Syntax Error Software itch.io page
Online Chess
http://gameknot.com/#paul_nicholls
Replace all mentions you can find of 2.4.2 with 2.5.1, and you should be good again
Units compiled with a different version of the compiler cannot be used by the same compiler. It might be a very different PPU structure. Hence, you will also have to recompile lazarus when you've inserted the new FPC version info
Peregrinus, expectavi pedes meos in cymbalis
Nullus norvegicorum sole urinat
Bookmarks