Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2014-12

fpc trunk compile failure...

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

waldo kitty

OS=Vista
FTP Trunk=r29189

cd /d c:\freepascal\fpc\trunk
rd /s /q c:\freepascal\fpc\trunk\examps
make distclean
TortoiseProc /command:update /path:"c:\freepascal\fpc\trunk" ren c:\freepascal\fpc\trunk\examples examps
compiling FPC trunk...
make all install INSTALL_PREFIX=c:\freepascal\fpc\trunk PP=c:\freepascal\binutils\ppc386.exe
DATA2INC=c:\freepascal\fpc\trunk\utils\data2inc.exe

[...trim...]
[ 10%] Compiled package fcl-res
Start compiling package fcl-base for target i386-win32. Compiling fcl-base\BuildUnit_fcl_base.pp
Compiling .\fcl-base\src\ascii85.pp
Compiling .\fcl-base\src\avl_tree.pp
Compiling .\fcl-base\src\base64.pp
Compiling .\fcl-base\src\fpobserver.pp
Compiling .\fcl-base\src\contnrs.pp
Compiling .\fcl-base\src\blowfish.pp
Compiling .\fcl-base\src\bufstream.pp
Compiling .\fcl-base\src\cachecls.pp
Compiling .\fcl-base\src\custapp.pp
[...trim...]
[ 99%] Compiled package zorba
make[2]: Leaving directory `c:/freepascal/fpc/trunk/packages' make[1]: Leaving directory `c:/freepascal/fpc/trunk' make utils_all FPC=c:/freepascal/fpc/trunk/compiler/ppc386.exe FPCFPMAKE=c:/freepascal/fpc/trunk/compiler/ppc386.exe RELEASE=1 'OPT=' make[1]: Entering directory `c:/freepascal/fpc/trunk' make -C utils all
make[2]: Entering directory `c:/freepascal/fpc/trunk/utils' c:/freepascal/fpc/trunk/compiler/ppc386.exe fpmake.pp -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32
-Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 ./fpmake.exe compile --localunitdir=.. --globalunitdir=../packages --os=win32 --cpu=i386 -o -Ur -o -Xs -o -O2 -o -n -o
-Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -o -di386 -o -dRELEASE --compiler=c:/freepascal/fpc/trunk/compiler/ppc386.exe -bu Start compiling package utils for target i386-win32. Compiling BuildUnit_utils.pp
Compiling usubst.pp
Compiling ptopu.pp
Compiling ptop.pp
The installer encountered the following error:
External command "c:/freepascal/fpc/trunk/compiler/ppc386.exe -Twin32 -FEbin\i386-win32 -FUunits\i386-win32\
-Fuc:\freepascal\fpc\trunk\rtl\units\i386-win32\
-Fuc:\freepascal\fpc\trunk\units\i386-win32\fcl-base -Fuc:\freepascal\fpc\trunk\units\i386-win32\paszlib -Fuc:\freepascal\fpc\trunk\units\i386-win32\hash -Ur -Xs -O2 -n -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32
-Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -di386 -dRELEASE -viq ptop.pp" failed with exit code 1. Console output: Target OS: Win32 for i386
Compiling ptop.pp
PPU Loading C:\freepascal\fpc\trunk\units\i386-win32\fcl-base\custapp.ppu PPU Source: custapp.pp not available
Recompiling CustApp, checksum changed for Classes
ptop.pp(21,29) Fatal: Can't find unit CustApp used by PtoP Fatal: Compilation aborted

make[2]: *** [all] Error 1
make[2]: Leaving directory `c:/freepascal/fpc/trunk/utils' make[1]: *** [utils_all] Error 2
make[1]: Leaving directory `c:/freepascal/fpc/trunk' make: *** [build-stamp.i386-win32] Error 2

NOTE: No off-list assistance is given without prior approval. Please *keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

Marco van de Voort
to waldo kitty

In our previous episode, waldo kitty said:

Show quoted text 13 lines
OS=Vista FTP Trunk=r29189 cd /d c:\freepascal\fpc\trunk rd /s /q c:\freepascal\fpc\trunk\examps make distclean TortoiseProc /command:update /path:"c:\freepascal\fpc\trunk" ren c:\freepascal\fpc\trunk\examples examps compiling FPC trunk... make all install INSTALL_PREFIX=c:\freepascal\fpc\trunk PP=c:\freepascal\binutils\ppc386.exe DATA2INC=c:\freepascal\fpc\trunk\utils\data2inc.exe

As said before, the problem is the inclusion of .. fpc\trunk\units\*

I don't know where it comes from. I thought the makefile maybe auto added an units directory at the toplevel, but I tested, and it doesn't.

So something strange is going on on that system, but I can't reproduce.

Reply by email

waldo kitty
to Marco van de Voort
Marco van de Voort wrote 17 lines
In our previous episode, waldo kitty said: > > OS=Vista > FTP Trunk=r29189 > > cd /d c:\freepascal\fpc\trunk > rd /s /q c:\freepascal\fpc\trunk\examps > make distclean > TortoiseProc /command:update /path:"c:\freepascal\fpc\trunk" > ren c:\freepascal\fpc\trunk\examples examps > compiling FPC trunk... > make all install INSTALL_PREFIX=c:\freepascal\fpc\trunk > PP=c:\freepascal\binutils\ppc386.exe > DATA2INC=c:\freepascal\fpc\trunk\utils\data2inc.exe As said before, the problem is the inclusion of .. fpc\trunk\units\*

"said before"? i must have missed it... i try to read all posts in all of the fpc and lazarus lists but some things just get too deep for me to follow along with... this particular problem /just/ popped up with the above revision update... i don't recall what revision i was at before updating and i don't know how to find out from tortoise...

I don't know where it comes from. I thought the makefile maybe auto added an units directory at the toplevel, but I tested, and it doesn't. So something strange is going on on that system, but I can't reproduce.

strange on my system? i don't know... i rarely have problems updating and compiling... especially since i got my scripts coded a year or two back to handle it all for me...

FWIW: the scripts are based on the ones in the wiki (will have to hunt for them) where fpc (and lazarus) are built and installed into their directories that are updated from the repository... they are bootstrapped from binaries in the "c:\freepascal\binutils" directory (hereafter called the bootstrap directory)... these FPC and Lazarus installs started as clean pulls from the repository and they were built using the bootstrap files to get a working installation which has been being updated ever since then...

the binaries for the bootstrap were all pulled from the repository some time back... currently they are all from 2013 May 21 so i guess they are FPC 2.6.2 based as i did save the previous ppc386 as ppc386-2.6.0.exe and the current one is copied as ppc386-2.6.2.exe... perhaps i need to update that bootstrap directory's contents from the repository again??

Directory of c:\freepascal\binutils

10/15/2013 03:45 PM <DIR> .
10/15/2013 03:45 PM <DIR> ..
10/15/2013 03:44 PM <DIR> i386-win32
05/21/2012 02:52 PM 2,042,368 ppc386-2.6.0.exe 05/31/2013 02:02 PM 2,051,072 ppc386-2.6.2.exe 05/31/2013 02:02 PM 2,051,072 ppc386.exe
3 File(s) 6,144,512 bytes
3 Dir(s) 52,809,166,848 bytes free

barring that, i do have a FPC 2.6.4 that appears to have been installed using some windows installer thing... all those directories are dated 2014 Apr 06... the ppc386 binary in there is dated 2014 Mar 06... so i'm guessing that i pulled and installed that a month after it was released?? could i maybe pull the needed bootstrap binaries from this 2.6.4 installation and place them in the bootstrap directory?? do you think that will fix this if it is a problem with old bootstrap binaries being used?

my FPC compile log does show the above ppc386.exe (matching ppc386-2.6.2.exe) is being used to compile pp.pas in fpc/trunk/compiler... here're the last two instances of that bootstrap ppc386.exe being used...

make[6]: Entering directory `c:/freepascal/fpc/trunk/compiler' c:/freepascal/binutils/ppc386.exe -Ur -Xs -O2 -n -Fui386 -Fusystems -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -dRELEASE -di386 -dGDB -dBROWSERLOG -Fux86 -Sew -FE. utils/msg2inc.pp
make[6]: Leaving directory `c:/freepascal/fpc/trunk/compiler' ./msg2inc.exe msg/errore.msg msg msg
Loading messagefile msg/errore.msg
Writing enumfile msgidx.inc
Writing stringfile msgtxt.inc
c:/freepascal/binutils/ppc386.exe -Ur -Xs -O2 -n -Fui386 -Fusystems -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -dRELEASE -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas c:/freepascal/binutils/i386-win32/mv.exe -f ./pp.exe ppc386.exe make[5]: Leaving directory `c:/freepascal/fpc/trunk/compiler' make echotime
make[5]: Entering directory `c:/freepascal/fpc/trunk/compiler' Start now 20:13:34
make[5]: Leaving directory `c:/freepascal/fpc/trunk/compiler' make[4]: Leaving directory `c:/freepascal/fpc/trunk/compiler' c:/freepascal/binutils/i386-win32/rm.exe -f ppc1.exe c:/freepascal/binutils/i386-win32/mv.exe -f ppc386.exe ppc1.exe make 'FPC=c:/freepascal/fpc/trunk/compiler/ppc1.exe' 'OLDFPC=' next CYCLELEVEL=2

FWIW: i believe that the following link where marcos douglas gave details on how to bootstrap FPC and Lazarus is where i started...

http://wiki.lazarus.freepascal.org/Installing_Lazarus#Compiling.2Finstalling_FPC_and_Lazarus_from_Sources_of_SVN_.28Win32.29

at one time i was going to add more to it but i never got back with marcos and did anything else... obviously i updated something i my routine at some time because of having ppc386-2.6.0 and ppc386-2.6.2 available in that bootstrap directory...

i am going to make a copy of my bootstrap directory and attempt to update the existing files from the FPC 2.6.4 installation... i'll get back with the results... of course, my update script will pull a new revision from the repository during this process but we'll see what happens, either way ;)

PS: my apologies if the above appears to be rambling or a "wall of words"... i'm just trying to get everything written down as i think about it...

NOTE: No off-list assistance is given without prior approval. Please *keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

waldo kitty
to waldo kitty
waldo kitty wrote
i am going to make a copy of my bootstrap directory and attempt to update the existing files from the FPC 2.6.4 installation... i'll get back with the results... of course, my update script will pull a new revision from the repository during this process but we'll see what happens, either way ;)

no, same problem as before... i updated 31 of the 32 files in my bootstrap i386-win32 directory (c:\freepascal\binutils\i386-win32)... the upx.exe binary is the only one i didn't have in the 2.6.4 installation...

i updated the existing (default) ppc386.exe in the bootstrap directory (c:\freepascal\binutils) to the one from 2.6.4 and also copied it as ppc386-2.6.4.exe which i then forced the use of in my update script (PP=ppc386-2.6.4.exe)...

my script always starts with distclean...

these are just compiled...

custapp.pp 2014-Mar-17 in c:\freepascal\fpc\trunk\packages\fcl-base\src

custapp.o 2014-Dec-01 in
c:\freepascal\fpc\trunk\packages\fcl-base\units\i386-win32

custapp.ppu 2014-Dec-01 in
c:\freepascal\fpc\trunk\packages\fcl-base\units\i386-win32

custapp.rsj 2014-Dec-01 in
c:\freepascal\fpc\trunk\packages\fcl-base\units\i386-win32

these are old from the last successful compile...

custapp.o 2014-Nov-22 in c:\freepascal\fpc\trunk\units\i386-win32\fcl-base

custapp.ppu 2014-Nov-22 in c:\freepascal\fpc\trunk\units\i386-win32\fcl-base

custapp.rsj 2014-Nov-22 in c:\freepascal\fpc\trunk\units\i386-win32\fcl-base

why weren't they updated from the ones in the packages directory which were just built previously above about the 10% level of the process?

what changed since 2014-Nov-22 in the build process? it worked then but not now?

as near as i can tell, the problem is somewhere in here because it is finding the old unit file but not the sources where they reside... i'm not familiar with how fpcmake works so i don't even know where to begin trying to track the problem down... all i have is the full output redirected to a log file which i can make available to you if desired... it is about 2750 lines long at 242KB...

make utils_all FPC=c:/freepascal/fpc/trunk/compiler/ppc386.exe FPCFPMAKE=c:/freepascal/fpc/trunk/compiler/ppc386.exe RELEASE=1 'OPT=' make[1]: Entering directory `c:/freepascal/fpc/trunk' make -C utils all
make[2]: Entering directory `c:/freepascal/fpc/trunk/utils' c:/freepascal/fpc/trunk/compiler/ppc386.exe fpmake.pp -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32
-Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 ./fpmake.exe compile --localunitdir=.. --globalunitdir=../packages --os=win32 --cpu=i386 -o -Ur -o -Xs -o -O2 -o -n -o
-Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -o -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -o -di386 -o -dRELEASE --compiler=c:/freepascal/fpc/trunk/compiler/ppc386.exe -bu Start compiling package utils for target i386-win32. Compiling BuildUnit_utils.pp
Compiling usubst.pp
Compiling ptopu.pp
Compiling ptop.pp
The installer encountered the following error:
External command "c:/freepascal/fpc/trunk/compiler/ppc386.exe -Twin32 -FEbin\i386-win32 -FUunits\i386-win32\
-Fuc:\freepascal\fpc\trunk\rtl\units\i386-win32\
-Fuc:\freepascal\fpc\trunk\units\i386-win32\fcl-base -Fuc:\freepascal\fpc\trunk\units\i386-win32\paszlib -Fuc:\freepascal\fpc\trunk\units\i386-win32\hash -Ur -Xs -O2 -n -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32
-Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -di386 -dRELEASE -viq ptop.pp" failed with exit code 1. Console output:

NOTE: No off-list assistance is given without prior approval. Please *keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

waldo kitty
to waldo kitty: OS=Vista FTP Trunk=r29189 cd /d c:\freepascal\fpc\trunk rd /s /q…

i wasn't able to figure this out but i did make it a little further after i updated all the .O and .ppu files in the trunk/units/i386-win32/fcl-base directory... the next error was

=== snip ===
Start compiling package utils for target i386-win32. Compiling BuildUnit_utils.pp
Compiling usubst.pp
Compiling ptopu.pp
Compiling ptop.pp
Linking bin\i386-win32\ptop.exe
Compiling ppdep.pp
Linking bin\i386-win32\ppdep.exe
Compiling rstconv.pp
The installer encountered the following error:
External command "c:/freepascal/fpc/trunk/compiler/ppc386.exe -Twin32 -FEbin\i386-win32 -FUunits\i386-win32\
-Fuc:\freepascal\fpc\trunk\rtl\units\i386-win32\
-Fuc:\freepascal\fpc\trunk\units\i386-win32\fcl-base -Fuc:\freepascal\fpc\trunk\units\i386-win32\paszlib -Fuc:\freepascal\fpc\trunk\units\i386-win32\hash -Ur -Xs -O2 -n -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32
-Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -di386 -dRELEASE -viq rstconv.pp" failed with exit code 1. Console output: Target OS: Win32 for i386
Compiling rstconv.pp
Fatal: Can't find unit variants used by fpjson
Fatal: Compilation aborted
=== snip ===

so i gave up, renamed my existing trunk directory and pulled a completely new update from the repository... that compiled just fine...

i have no clue what the difference is between the old and new... if anyone has any idea where to possibly look, i'll give it a try... other than that, in a few weeks or months, i'll be killing off my old trunk directory...

maybe it is related to my having to revert back to an earlier revision a few weeks ago? i could easily have done that the wrong way... i would have thought that the next update, which compiled just fine, would have brought everything else in from that revision forward but :shrug:

NOTE: No off-list assistance is given without prior approval. Please *keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

Joost van der Sluis
to waldo kitty
waldo kitty wrote 43 lines
i wasn't able to figure this out but i did make it a little further after i updated all the .O and .ppu files in the trunk/units/i386-win32/fcl-base directory... the next error was === snip === Start compiling package utils for target i386-win32. Compiling BuildUnit_utils.pp Compiling usubst.pp Compiling ptopu.pp Compiling ptop.pp Linking bin\i386-win32\ptop.exe Compiling ppdep.pp Linking bin\i386-win32\ppdep.exe Compiling rstconv.pp The installer encountered the following error: External command "c:/freepascal/fpc/trunk/compiler/ppc386.exe -Twin32 -FEbin\i386-win32 -FUunits\i386-win32\ -Fuc:\freepascal\fpc\trunk\rtl\units\i386-win32\ -Fuc:\freepascal\fpc\trunk\units\i386-win32\fcl-base -Fuc:\freepascal\fpc\trunk\units\i386-win32\paszlib -Fuc:\freepascal\fpc\trunk\units\i386-win32\hash -Ur -Xs -O2 -n -Fuc:/freepascal/fpc/trunk/rtl/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/paszlib/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-process/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/hash/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/libtar/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fpmkunit/units/i386-win32 -Fuc:/freepascal/fpc/trunk/packages/fcl-json/units/i386-win32 -di386 -dRELEASE -viq rstconv.pp" failed with exit code 1. Console output: Target OS: Win32 for i386 Compiling rstconv.pp Fatal: Can't find unit variants used by fpjson Fatal: Compilation aborted === snip === so i gave up, renamed my existing trunk directory and pulled a completely new update from the repository... that compiled just fine... i have no clue what the difference is between the old and new... if anyone has any idea where to possibly look, i'll give it a try... other than that, in a few weeks or months, i'll be killing off my old trunk directory...

You probably have some .ppu or .o files in locations where they should not be. This can happen for example if you compile one of the units from a command line-yourself. Or by adding the path to the sources to a Lazarus-project. If a .ppu file is placed between the sources, this kind of problems may arise. (And a make clean does not fix that)

Maybe you could check if this is the case. (You can also search for all .ppu and .o files in the checkout and remove them all. See if that helps)

Regards,

Joost.

Reply by email

Marco van de Voort
to Joost van der Sluis

In our previous episode, Joost van der Sluis said:

Show quoted text 9 lines
You probably have some .ppu or .o files in locations where they should not be. This can happen for example if you compile one of the units from a command line-yourself. Or by adding the path to the sources to a Lazarus-project. If a .ppu file is placed between the sources, this kind of problems may arise. (And a make clean does not fix that) Maybe you could check if this is the case. (You can also search for all .ppu and .o files in the checkout and remove them all. See if that helps)

Or a SVN checkout from before 25 august of this year. (mantis #26630)

Reply by email