Lazarus

Free Pascal => FPC development => Topic started by: baldzhang on March 06, 2018, 09:10:00 pm

Title: starting version of build fpc
Post by: baldzhang on March 06, 2018, 09:10:00 pm
I'm using fpc package build by myself, currently version is 3.0.4

after some environment change, I need a rebuild and re-package,
but got error message said 3.0.2 needed.

I didn't want to re-install an old version to do this building.

so, the question is:
If i just modify the Makefile and change REQUIREDVERSION to 3.0.4, is this ok to build fpc?
Title: Re: starting version of build fpc
Post by: marcov on March 06, 2018, 09:30:38 pm
Yes. You can also simply use

make ...  OVERRIDEVERSIONCHECK=1
Title: Re: starting version of build fpc
Post by: baldzhang on March 06, 2018, 09:54:24 pm
make ...  OVERRIDEVERSIONCHECK=1

building passed, thank you very much  :D
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 19, 2019, 03:27:48 pm
I need help myself. I also did the make ...  OVERRIDEVERSIONCHECK=1
it started to build the compiler, but then it stops with an error message.

Last error message:


make: *** [build-stamp.i386-win32] Error 2
Title: Re: starting version of build fpc
Post by: marcov on April 19, 2019, 04:43:27 pm
Last error message:


make: *** [build-stamp.i386-win32] Error 2

Not enough info to guess what is wrong. Moreover, if you are not sure yet, follow the rules exactly, and make sure your starting compiler is a full install of the release 3.0.4, and that this compiler is in the path.
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 19, 2019, 05:43:37 pm
ok, here is all the output when I try to build:


C:\Users\Sergio\Desktop\Open Source\fpc-3.0.4>C:\lazarus\fpc\3.0.4\bin\i386-win3
2\make all OVERRIDEVERSIONCHECK=1
You have overriden the starting compiler versioncheck while using starting compi
ler version 3.0.4. This situation is not supported and strange things and errors
 may happen. Remove OVERRIDEVERSIONCHECK=1 to fix this.
C:/lazarus/fpc/3.0.4/bin/i386-win32/make compiler_cycle RELEASE=1
make[1]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C compiler cycle
make[2]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make tempclean ppc3.exe
make[3]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe pp
c2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo
C:/lazarus/fpc/3.0.4/bin/i386-win32/make 'OLDFPC=' next CYCLELEVEL=1
make[4]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make rtlclean rtl
make[5]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C ../rtl clean
make[6]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppa
s.bat script.res link.res
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *.s *_ppas.bat
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C win32 clean
make[7]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl/w
in32'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f units/i386-win32/system.ppu units/
i386-win32/uuchar.ppu units/i386-win32/objpas.ppu units/i386-win32/macpas.ppu un
its/i386-win32/iso7185.ppu units/i386-win32/buildrtl.ppu units/i386-win32/cpall.
ppu units/i386-win32/lineinfo.ppu units/i386-win32/lnfodwrf.ppu units/i386-win32
/sysinitpas.ppu units/i386-win32/sysinitcyg.ppu units/i386-win32/sysinitgprof.pp
u units/i386-win32/ctypes.ppu units/i386-win32/strings.ppu units/i386-win32/heap
trc.ppu units/i386-win32/windows.ppu units/i386-win32/initc.ppu units/i386-win32
/cmem.ppu units/i386-win32/dynlibs.ppu units/i386-win32/signals.ppu units/i386-w
in32/dos.ppu units/i386-win32/messages.ppu units/i386-win32/rtlconsts.ppu units/
i386-win32/sysconst.ppu units/i386-win32/sysutils.ppu units/i386-win32/math.ppu
units/i386-win32/types.ppu units/i386-win32/typinfo.ppu units/i386-win32/fgl.ppu
 units/i386-win32/classes.ppu units/i386-win32/cpu.ppu units/i386-win32/mmx.ppu
units/i386-win32/charset.ppu units/i386-win32/character.ppu units/i386-win32/get
opts.ppu units/i386-win32/fpwidestring.ppu units/i386-win32/winsysut.ppu units/i
386-win32/sharemem.ppu units/i386-win32/exeinfo.ppu units/i386-win32/fpintres.pp
u units/i386-win32/windirs.ppu units/i386-win32/cp1250.ppu units/i386-win32/cp12
51.ppu units/i386-win32/cp1252.ppu units/i386-win32/cp1253.ppu units/i386-win32/
cp1254.ppu units/i386-win32/cp1255.ppu units/i386-win32/cp1256.ppu units/i386-wi
n32/cp1257.ppu units/i386-win32/cp1258.ppu units/i386-win32/cp437.ppu units/i386
-win32/cp646.ppu units/i386-win32/cp850.ppu units/i386-win32/cp856.ppu units/i38
6-win32/cp866.ppu units/i386-win32/cp874.ppu units/i386-win32/cp8859_1.ppu units
/i386-win32/cp8859_5.ppu units/i386-win32/cp8859_2.ppu units/i386-win32/cp852.pp
u units/i386-win32/unicodedata.ppu units/i386-win32/unicodenumtable.ppu
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f units/i386-win32/system.o units/i3
86-win32/uuchar.o units/i386-win32/objpas.o units/i386-win32/macpas.o units/i386
-win32/iso7185.o units/i386-win32/lineinfo.o units/i386-win32/lnfodwrf.o units/i
386-win32/sysinitpas.o units/i386-win32/sysinitcyg.o units/i386-win32/sysinitgpr
of.o units/i386-win32/ctypes.o units/i386-win32/strings.o units/i386-win32/heapt
rc.o units/i386-win32/windows.o units/i386-win32/initc.o units/i386-win32/cmem.o
 units/i386-win32/dynlibs.o units/i386-win32/signals.o units/i386-win32/dos.o un
its/i386-win32/messages.o units/i386-win32/rtlconsts.o units/i386-win32/sysconst
.o units/i386-win32/sysutils.o units/i386-win32/math.o units/i386-win32/types.o
units/i386-win32/typinfo.o units/i386-win32/fgl.o units/i386-win32/classes.o uni
ts/i386-win32/cpu.o units/i386-win32/mmx.o units/i386-win32/charset.o units/i386
-win32/character.o units/i386-win32/getopts.o units/i386-win32/fpwidestring.o un
its/i386-win32/winsysut.o units/i386-win32/sharemem.o units/i386-win32/exeinfo.o
 units/i386-win32/fpintres.o units/i386-win32/windirs.o units/i386-win32/cp1250.
o units/i386-win32/cp1251.o units/i386-win32/cp1252.o units/i386-win32/cp1253.o
units/i386-win32/cp1254.o units/i386-win32/cp1255.o units/i386-win32/cp1256.o un
its/i386-win32/cp1257.o units/i386-win32/cp1258.o units/i386-win32/cp437.o units
/i386-win32/cp646.o units/i386-win32/cp850.o units/i386-win32/cp856.o units/i386
-win32/cp866.o units/i386-win32/cp874.o units/i386-win32/cp8859_1.o units/i386-w
in32/cp8859_5.o units/i386-win32/cp8859_2.o units/i386-win32/cp852.o units/i386-
win32/unicodedata.o units/i386-win32/unicodenumtable.o units/i386-win32/libimpsy
stem.a units/i386-win32/libimpsysinitpas.a units/i386-win32/libimpsysinitcyg.a u
nits/i386-win32/libimpsysinitgprof.a units/i386-win32/libimpheaptrc.a units/i386
-win32/libimpwindows.a units/i386-win32/libimpinitc.a units/i386-win32/libimpcme
m.a units/i386-win32/libimpsignals.a units/i386-win32/libimpdos.a units/i386-win
32/libimpsysutils.a units/i386-win32/libimpfpwidestring.a units/i386-win32/libim
psharemem.a units/i386-win32/libimpfpintres.a
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f units/i386-win32/math.rst units/i3
86-win32/typinfo.rst units/i386-win32/classes.rst units/i386-win32/sysconst.rst
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppa
s.bat script.res link.res
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *.s *_ppas.bat
make[7]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl/wi
n32'
make[6]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C ../rtl 'OPT=  ' all
make[6]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C win32 all
make[7]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl/w
in32'
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../w
in
system.inc(1728,13) Warning: Implicit string type conversion from "RawByteString
" to "UnicodeString"
system.inc(1740,13) Warning: Implicit string type conversion from "RawByteString
" to "UnicodeString"
system.inc(1752,13) Warning: Implicit string type conversion from "RawByteString
" to "UnicodeString"
system.inc(1778,29) Warning: Implicit string type conversion from "ShortString"
to "UnicodeString"
syswin.inc(460,27) Warning: Symbol "NoErrMsg" is not portable
system.pp(653,30) Warning: Symbol "startupinfo" is deprecated
system.pp(664,23) Warning: Symbol "startupinfo" is deprecated
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE ../inc/uuchar.pp
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE -I../objpas ../objpas/obj
pas.pp
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE -Fi../objpas/sysutils -Fi
../objpas/classes -Fu../i386 -I../objpas -I../win/wininc -Fu../win/wininc -Fu../
win -I../inc -Fu../inc -Fu../objpas buildrtl
fina.inc(142,13) Warning: Implicit string type conversion from "RawByteString" t
o "UnicodeString"
filutil.inc(307,22) Warning: Symbol "faSymLink" is not portable
syshelp.inc(350,51) Warning: Implicit string type conversion with potential data
 loss from "WideString" to "AnsiString"
syshelp.inc(351,53) Warning: Implicit string type conversion with potential data
 loss from "WideString" to "AnsiString"
syshelp.inc(352,28) Warning: Implicit string type conversion with potential data
 loss from "UnicodeString" to "AnsiString"
dati.inc(496,9) Warning: Comparison might be always true due to range of constan
t and expression
syssr.inc(16,26) Warning: Implicit string type conversion with potential data lo
ss from "WideString" to "AnsiString"
syssr.inc(16,20) Warning: Implicit string type conversion with potential data lo
ss from "WideString" to "AnsiString"
syssr.inc(16,26) Warning: Implicit string type conversion with potential data lo
ss from "UnicodeString" to "AnsiString"
syssr.inc(16,20) Warning: Implicit string type conversion with potential data lo
ss from "UnicodeString" to "AnsiString"
sysutils.pp(769,23) Warning: Implicit string type conversion with potential data
 loss from "WideString" to "AnsiString"
sysutils.pp(774,23) Warning: Implicit string type conversion with potential data
 loss from "WideString" to "AnsiString"
sysutils.pp(936,3) Warning: Symbol "GetLocaleFormatSettings" is not portable
sysutils.pp(1010,13) Warning: Implicit string type conversion with potential dat
a loss from "UnicodeString" to "AnsiString"
tthread.inc(80,5) Warning: Symbol "Suspend" is deprecated
tthread.inc(81,13) Warning: Symbol "Resume" is deprecated
classes.inc(247,9) Warning: Symbol "Resume" is deprecated
classes.inc(264,11) Warning: Symbol "Resume" is deprecated
classes.inc(638,13) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCo
unt64 instead"
unicodedata.pas(1542,13) Warning: Conversion between ordinals and pointers is no
t portable
unicodedata.pas(1671,19) Warning: Conversion between ordinals and pointers is no
t portable
unicodedata.pas(1677,27) Warning: Conversion between ordinals and pointers is no
t portable
unicodedata.pas(1781,14) Warning: Conversion between ordinals and pointers is no
t portable
unicodedata.pas(1797,14) Warning: Conversion between ordinals and pointers is no
t portable
character.pas(491,14) Warning: Comparison might be always false due to range of
constant and expression
character.pas(492,7) Warning: unreachable code
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE ../inc/macpas.pp
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE ../inc/iso7185.pp
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE -Fu../inc -Fi../charmaps
../charmaps/cpall.pas
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE ../inc/lineinfo.pp
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i3
86 -Fi../win -FE. -FUunits/i386-win32 -di386 -dRELEASE ../inc/lnfodwrf.pp
make[7]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl/wi
n32'
make[6]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/rtl'
make[5]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make cycleclean compiler
make[5]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -rf units
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.pp
l
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -rf *.sl
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f fpcmade.* Package.fpc ppas.bat scr
ipt.res link.res
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *_ppas.bat
C:/lazarus/fpc/3.0.4/bin/i386-win32/make -C utils cleanall
make[6]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler/utils'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe p
pumove.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o mkarmi
ns.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpmkarmin
s.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a
libimpmkarmins.a libimpmkx86ins.a
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f units/i386-win32/ppu.ppu units/i38
6-win32/crc.ppu
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -rf units
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.pp
l
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -rf *.sl
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f fpcmade.* Package.fpc ppas.bat scr
ipt.res link.res
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f *_ppas.bat
make[6]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er/utils'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -rf i386/units
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i38
6/*.s i386/*.a i386/*.dll i386/*.ppl
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i3
86/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.ex
e i386/ppcmips.exe i386/ppcmipsel.exe i386/ppcjvm.exe i386/ppc8086.exe i386/ppc3
86.exe
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f ppc386.exe
C:/lazarus/fpc/3.0.4/bin/i386-win32/gmkdir.exe -p i386/units/i386-win32
C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fui386 -Fusystems
 -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -dRELEASE    -
di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas
C:/lazarus/fpc/3.0.4/bin/i386-win32/mv.exe -f ./pp.exe ppc386.exe
make[5]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
C:/lazarus/fpc/3.0.4/bin/i386-win32/make echotime
make[5]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
Start  now 11:41:53
make[5]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
make[4]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
C:/lazarus/fpc/3.0.4/bin/i386-win32/rm.exe -f ppc1.exe
C:/lazarus/fpc/3.0.4/bin/i386-win32/mv.exe -f ppc386.exe ppc1.exe
C:/lazarus/fpc/3.0.4/bin/i386-win32/make 'FPC=C:/Users/Sergio/Desktop/Open Sourc
e/fpc-3.0.4/compiler/ppc1.exe' 'OLDFPC=' next CYCLELEVEL=2
make[4]: Entering directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compi
ler'
Makefile:135: *** Compiler C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compile
r/ppc1.exe not found.  Stop.
make[4]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
make[3]: *** [ppc2.exe] Error 2
make[3]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
make[2]: *** [cycle] Error 2
make[2]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4/compil
er'
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory `C:/Users/Sergio/Desktop/Open Source/fpc-3.0.4'
make: *** [build-stamp.i386-win32] Error 2

C:\Users\Sergio\Desktop\Open Source\fpc-3.0.4>
Title: Re: starting version of build fpc
Post by: marcov on April 19, 2019, 05:50:27 pm
No idea. Vague problem. Compiler seems to be created (no errors) but then suddenly missing.

It might be that some of the used GNU tools (mv/rm/make) don't handle directories with spaces very well, try to move our fpcsrc directory to the root, or a directory with a simple name in the root.
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 20, 2019, 12:08:01 am
OK, I moved it to a different directory one without spaces in its name. It seems to compiled successful... one question, were does it place the fpc.exe executable?
Title: Re: starting version of build fpc
Post by: Bart on April 20, 2019, 12:10:25 am
You have to do a "make install" (and create a proper fpc.cfg) to get it working after that.

Bart
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 20, 2019, 12:12:47 am
I did do a make install.... I want to know in what folder does the executable gets placed.
I was expecting  a fpc.exe, I found a ppc1.exe, ppc2.exe, ppc3.exe and ppc386.exe file.

using the ppc386 file I tried to compile a simple hello world program.
but I get a fatal error saying that it cannot find the systems unit needed by my hello world program.

any help?

Thanks
Title: Re: starting version of build fpc
Post by: lucamar on April 20, 2019, 02:31:32 am
using the ppc386 file I tried to compile a simple hello world program.
but I get a fatal error saying that it cannot find the systems unit needed by my hello world program.

I'm no expert but IIRC fpc.exe is a wrapper that, among other things, read its configuration file, builds the proper command line and calls the corresponding ppc*.exe. If you call ppc386 yourself you'll have to pass to it all the various options that fpc reads from it config file, among them the libraries search path, units search path, etc.; otherwise you get errors like that.

In short: use fpc.exe unless you're very, very sure of what you're doing. :)
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 20, 2019, 02:52:16 am
lucamar, I would call fpc.exe, but when I compiled the source code to fpc 3.0.4, I did not get a fpc.exe file, I got amoung various files a ppc386.exe  file.

If anyone has compiled the source code to FPC and can tell me were the fpc.exe is supposed to be, it would be great.

Thanks
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 20, 2019, 04:13:52 am
ok, I found an fpc.exe executable created under the utils folder. and I used a fpc.cfg file I found under a FPC/3.02 build, I changed the code to point to my new build of 3.0.4.

but even using this file I still get a fatal error saying that it cannot find the system unit needed by my hello world program.

when I do a search for system.pp or system.pas its not under any win32 or i386 folder. there is a systems.pp, but not a system.pp or system.pas.

can there be an error in the compilation of the i386 build or something?
Title: Re: starting version of build fpc
Post by: Thausand on April 20, 2019, 04:46:42 am
ok, I found an fpc.exe executable created under the utils folder. and I used a fpc.cfg file I found under a FPC/3.02 build, I changed the code to point to my new build of 3.0.4.

but even using this file I still get a fatal error saying that it cannot find the system unit needed by my hello world program.

when I do a search for system.pp or system.pas its not under any win32 or i386 folder. there is a systems.pp, but not a system.pp or system.pas.

can there be an error in the compilation of the i386 build or something?
First you write compile new 3.0.4 use old 3.0.4 and use version check override. This write make 3.0.4 fail. That mean new 3.0.4 not complete (that why miss unit system).

Then write you "I found under a FPC/3.02 build" !? is 3.0.2 or 3.0.4 old compiler ?

Also write you that use old fpc.cfg with new 3.0.4. That not work because old fpc.cfg direct use old directories.

Now write you not can find unit system..... and not know why

I not know how many thing wrong but is many  :)

I write to advise delete all and make again. I no think make clean can fix  ;D

User Marco write faq name buildfaq.http://wiki.freepascal.org/buildfaq If build freepascal source then is read. I sorry and say if not understand faq then maybe make freepascal source is not good for you. For any not understand build freepascal source then can use FPCDeluxe (http://wiki.freepascal.org/fpcupdeluxe) and make automatic for you.
Title: Re: starting version of build fpc
Post by: sergioantonio2013 on April 20, 2019, 05:48:10 am
first I compiled using 3.0.4, but then I decided to use the older version just in case. so I used 3.0.2.

I actually found that when I executed 'make install', it created all the proper files in a folder called pp at the root directory... so , its all working now; I was able to compile a hello world program using my own build.

Thank.
Title: Re: starting version of build fpc
Post by: marcov on April 20, 2019, 11:44:31 am
I did do a make install.... I want to know in what folder does the executable gets placed.
I was expecting  a fpc.exe, I found a ppc1.exe, ppc2.exe, ppc3.exe and ppc386.exe file.

Then you are looking in the build dir, and not in the dir you INSTALLed too.

Installing is like exporting the files you need for a release from the build dirs. Install to a different directory then when you built.

Quote
using the ppc386 file I tried to compile a simple hello world program.
but I get a fatal error saying that it cannot find the systems unit needed by my hello world program.

That is configuration, not building. But first

Quote
any help?

You might want to read the buildfaq on the documentation page of the website.

p.s. and use 3.0.4 if you possibly can. 3.0.2 and using override will only increase the number of things that can go wrong, and solve nothing.
Title: Re: starting version of build fpc
Post by: ccrause on April 23, 2019, 10:37:39 am
I did do a make install.... I want to know in what folder does the executable gets placed.

Some useful information can be obtained by calling:
Code: Text  [Select]
  1. make info <optional extra parameters>
where <optional extra parameters> should be the same as when you build/install fpc using make but excluding the make target (clean, all, install etc.).  This should show install information such as binary folder, units folder etc.
Title: Re: starting version of build fpc
Post by: PascalDragon on April 25, 2019, 12:33:17 pm
using the ppc386 file I tried to compile a simple hello world program.
but I get a fatal error saying that it cannot find the systems unit needed by my hello world program.

I'm no expert but IIRC fpc.exe is a wrapper that, among other things, read its configuration file, builds the proper command line and calls the corresponding ppc*.exe. If you call ppc386 yourself you'll have to pass to it all the various options that fpc reads from it config file, among them the libraries search path, units search path, etc.; otherwise you get errors like that.

In short: use fpc.exe unless you're very, very sure of what you're doing. :)
Not entirely correct. The fpc.exe only handles the -P and -V (version suffix) options (and -Xp to add a specfic search path for the ppcX). Everything else is passed as is to the determined ppcX which also handles the configuration file.