Sign in Join

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

Mailing lists / lazarus / 2010-01

contnrs.ppu - Invalid Version 112

12 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

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

Kjow

I updated FPC svn this morning, but when compiling Lazarus it returns this error:
...
...
...
Compiling fileutil.pas
Compiling masks.pas
PPU Loading C:\Develop\fpc\2.5.1\units\i386-win32\fcl-base\contnrs.ppu PPU Invalid Version 112
Fatal: Can't find unit Contnrs used by Masks
TExternalToolList.Run Exception: C:\Develop\Lazarus\lcl\masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks
ERROR: tool reported error

Kjow

Reply by email

Aleksa Todorovic
to Kjow

Check paths in your C:\Develop\fpc\2.5.1\bin\i386-win32\fpc.cfg (if it exists at all).

Kjow wrote 23 lines
I updated FPC svn this morning, but when compiling Lazarus it returns this error: ... ... ... Compiling fileutil.pas Compiling masks.pas PPU Loading C:\Develop\fpc\2.5.1\units\i386-win32\fcl-base\contnrs.ppu PPU Invalid Version 112 Fatal: Can't find unit Contnrs used by Masks TExternalToolList.Run Exception: C:\Develop\Lazarus\lcl\masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks ERROR: tool reported error Kjow -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Aleksa Todorovic - Lead Programmer Eipix Entertainment http://www.eipix.com/

Reply by email

Kjow
to Aleksa Todorovic

2010/1/19 Aleksa Todorovic :

Check paths in your C:\Develop\fpc\2.5.1\bin\i386-win32\fpc.cfg (if it exists at all).

it seems to be ok; this morning, on first pc start up, I updated svn fpc and lazarus, recompiled all and it was ok... some hours after, I tried to re-update/re-compile all and I got this error. No other modifies...

Kjow

Reply by email

Paul Ishenin
to Kjow: I updated FPC svn this morning, but when compiling Lazarus it returns this error: ... ...…
Kjow wrote 14 lines
I updated FPC svn this morning, but when compiling Lazarus it returns this error: ... ... ... Compiling fileutil.pas Compiling masks.pas PPU Loading C:\Develop\fpc\2.5.1\units\i386-win32\fcl-base\contnrs.ppu PPU Invalid Version 112 Fatal: Can't find unit Contnrs used by Masks TExternalToolList.Run Exception: C:\Develop\Lazarus\lcl\masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks ERROR: tool reported error

Well, this means you have compiled the compiler but forgot to recompiler rtl and packages or maybe you are compiling lazarus with an old compiler.

Best regards,
Paul Ishenin.

Reply by email

Paul Ishenin
to Kjow
Kjow wrote 6 lines
Ummm... which is the command to recompile everything? I'm using this script http://lists.lazarus.freepascal.org/pipermail/lazarus/2010-January/048409.html that worked until this morning... after an FPC svn update it returned this error...

Yes, I increased ppu version because of change in the compiler I made. I have no idea what is wrong in the script - it looks ok. Try to remove all the ppu files manually.

Best regards,
Paul Ishenin.

Reply by email

Kjow
to Paul Ishenin

2010/1/19 Paul Ishenin :

Yes, I increased ppu version because of change in the compiler I made. I have no idea what is wrong in the script - it looks ok. Try to remove all the ppu files manually.

Ok, so you are suggesting me to delete all 2206 *.ppu in fpc 2.51 dir/subdir? It is advisable to do every time before to recompile?

Thanks,
Kjow

Reply by email

Kjow
to Paul Ishenin: Yes, I increased ppu version because of change in the compiler I made. I have no idea…

2010/1/19 Paul Ishenin :

Yes, I increased ppu version because of change in the compiler I made. I have no idea what is wrong in the script - it looks ok. Try to remove all the ppu files manually.

I deleted all ppu in fpc dir, and now I have this:

...
...
Compiling lclstrconsts.pas
Writing Resource String Table file: lclstrconsts.rst Compiling fpcadds.pas
Compiling lazlinkedlist.pas
Compiling dynhasharray.pp
Compiling lclproc.pas
Compiling avglvltree.pas
Compiling fileutil.pas
Compiling masks.pas
Fatal: Can't find unit Contnrs used by Masks
TExternalToolList.Run Exception: C:\Develop\Lazarus\lcl\masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks
ERROR: tool reported error

Kjow

Reply by email

Paul Ishenin
to Kjow
Kjow wrote 18 lines
I deleted all ppu in fpc dir, and now I have this: ... ... Compiling lclstrconsts.pas Writing Resource String Table file: lclstrconsts.rst Compiling fpcadds.pas Compiling lazlinkedlist.pas Compiling dynhasharray.pp Compiling lclproc.pas Compiling avglvltree.pas Compiling fileutil.pas Compiling masks.pas Fatal: Can't find unit Contnrs used by Masks TExternalToolList.Run Exception: C:\Develop\Lazarus\lcl\masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks ERROR: tool reported error

Well, have you recompiled fpc after? The whole fpc project or just the compiler? Definetly something wrong with how you rebuild fpc. Look at the fpc.cfg and search how you are accessing the compiled units.

Best regards,
Paul Ishenin.

Reply by email

Kjow
to Paul Ishenin

2010/1/19 Paul Ishenin :

Well, have you recompiled fpc after? The whole fpc project or just the compiler? Definetly something wrong with how you rebuild fpc. Look at the fpc.cfg and search how you are accessing the compiled units.

Yes, I use always the same script, now updated to remove old .ppu:

"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\Develop\fpc\2.5.1\source\" /notempfile /closeonend:1 "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\Develop\Lazarus\" /notempfile /closeonend:1 cd C:\Develop\fpc\2.5.1\source\
DEL /F /Q /S C:\Develop\fpc\2.5.1\*.ppu
make clean all
make install PREFIX=C:\Develop\fpc\2.5.1\
cd C:\Develop\Lazarus
make clean all
lazbuild --build-all --build-ide=
strip --strip-all lazarus.exe
strip --strip-all lazarus.new.exe
strip --strip-all lazbuild.exe
strip --strip-all startlazarus.exe
pause
exit

So to recompile the fpc I use:

make clean all
make install PREFIX=C:\Develop\fpc\2.5.1\

Then I recompile Lazarus:

make clean all
lazbuild --build-all --build-ide=

This is my fpc.cfg:

#
# Config file generated by fpcmkcfg on 15/01/2010 - 10:29:17 # 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) #
# 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
#-Fr/msg/errore.msg
#-Fr/msg/errorn.msg
#-Fr/msg/errores.msg
#-Fr/msg/errord.msg
#-Fr/msg/errorr.msg

# path to the gcclib
#-Fl/lib

#IFDEF FPCAPACHE_1_13
-Fu/units/$FPCTARGET/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu/units/$FPCTARGET/httpd20
#ELSE
-Fu/units/$FPCTARGET/httpd22
#ENDIF
#ENDIF

# searchpath for units and other system dependent things -Fu/units/$FPCTARGET/
-Fu/units/$FPCTARGET/*
-Fu/units/$FPCTARGET/rtl

# searchpath for libraries
#-Fl/lib
#-Fl/lib;/usr/lib

# searchpath for tools
-FD/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

-Fuc:\Develop\fpc/$fpcversion/units/$fpctarget
-Fuc:\Develop\fpc/$fpcversion/units/$fpctarget/rtl -Fuc:\Develop\fpc/$fpcversion/units/$fpctarget/*

This fpc.cfg always worked before this morning update.

Thanks,
Kjow

Reply by email

Marco van de Voort
to Kjow: 2010/1/19 Paul Ishenin : Ok, so you are suggesting me to delete all 2206 *.ppu in fpc…
Kjow wrote 7 lines
2010/1/19 Paul Ishenin : > Yes, I increased ppu version because of change in the compiler I made. I > have no idea what is wrong in the script - it looks ok. Try to remove all > the ppu files manually. Ok, so you are suggesting me to delete all 2206 *.ppu in fpc 2.51 dir/subdir? It is advisable to do every time before to recompile?

This happens only once or twice an year. I manually kill the fpc\$FPCVERSION\units\ dir if I notice it.

A different reason to do the same is strange errors like linker errors, or wanting to recompile.

This can happen because an unit switched dirs, and the old version is no longer overwritten, and found by the compiler first. Killing the units dir and install the snapshot overnew solves that too.

Reply by email

Kjow
to Marco van de Voort

2010/1/19 Marco van de Voort :

Show quoted text 9 lines
This happens only once or twice an year. I manually kill the fpc\$FPCVERSION\units\ dir if I notice it. A different reason to do the same is strange errors like linker errors, or wanting to recompile. This can happen because an unit switched dirs, and the old version is no longer overwritten, and found by the compiler first. Killing the units dir and install the snapshot overnew solves that too.

Perfect thank you!

I tried to delete fpc\$FPCVERSION\units\ only, but no luck. So I deleted all fpc dirs, binaries and sources, so I restarted from new svn download and all things are gone right!

Regards,
Kjow

Reply by email