Sign in Join

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

Mailing lists / fpc-pascal / 2004-02

Error Making CVS version of compiler

6 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

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

Matt Henley

I was trying to update fpc to the latest and got this error today after updating through cvs:

/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../unix/x86.pp
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../unix/ports.pp
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../i386/cpu.pp
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../i386/mmx.pp
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE -I../inc/graph ../unix/graph.pp /usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../unix/oldlinux.pp
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../unix/dos.pp
dos.pp(227,1) Fatal: Syntax error, "BEGIN" expected but "identifier THREADVAR" found
make[3]: *** [dos.ppu] Error 1
make[3]: Leaving directory `/home/matt/fpc/fpc/rtl/linux' make[2]: *** [cycle] Error 2
make[2]: Leaving directory `/home/matt/fpc/fpc/compiler' make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory `/home/matt/fpc/fpc'
make: *** [build-stamp.linux] Error 2

Any ideas?

Matt

Unknown author
to Matt Henley

From: "Matt Henley"
To:
Subject: [fpc-pascal]Error Making CVS version of compiler Date sent: Tue, 17 Feb 2004 20:06:49 -0600

.
.

Show quoted text 10 lines
/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -di386 -dRELEASE ../unix/dos.pp dos.pp(227,1) Fatal: Syntax error, "BEGIN" expected but "identifier THREADVAR" found make[3]: *** [dos.ppu] Error 1 make[3]: Leaving directory `/home/matt/fpc/fpc/rtl/linux' make[2]: *** [cycle] Error 2

.
.

First of all, there's been an error in CVS, but this has been fixed in between. However, you'll probably have to start cycling with a 1.0.10 compiler. This is a general rule - if cycling doesn't work with the snapshot, try to start with the latest official _release_ version (not beta!) - this rule should be added to the build FAQ probably.

Tomas

VOLNY klub: Modemisti vseho druhu, spojte se! http://klub.volny.cz
Mattias Gaertner
to Unknown author
Show quoted text 26 lines
From: "Matt Henley" To: Subject: [fpc-pascal]Error Making CVS version of compiler Date sent: Tue, 17 Feb 2004 20:06:49 -0600 . . > /usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc > -Fi../i386 -Fi../unix > -Fii386 -FE. -di386 -dRELEASE ../unix/dos.pp > dos.pp(227,1) Fatal: Syntax error, "BEGIN" expected but > "identifier > THREADVAR" found > make[3]: *** [dos.ppu] Error 1 > make[3]: Leaving directory > `/home/matt/fpc/fpc/rtl/linux' > make[2]: *** [cycle] Error 2 . . First of all, there's been an error in CVS, but this has been fixed in between. However, you'll probably have to start cycling with a 1.0.10 compiler. This is a general rule - if cycling doesn't work with the snapshot, try to start with the latest official _release_ version (not beta!) - this rule should be added to the build FAQ probably.

I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer 1.9.3. If not, then it's time to increase the version number.

In this case the rtl/unix/dos.pp contains some lines, that look suspicious to me:

{$ifdef HASTHREADVAR}
{$ifdef VER1_9_2}
var
{$else VER1_9_2}
threadvar
{$endif VER1_9_2}
{$else HASTHREADVAR}
var
{$endif HASTHREADVAR}

Mattias

Jonas Maebe
to Mattias Gaertner
Mattias Gaertner wrote
I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer 1.9.3.

This has never been guaranteed in the past and also won't be guaranteed in the future. The only guarantee is that the latest release version (which is still 1.0.10 at this time) can be used to start a cycle for the current development version.

Jonas

Florian Klaempfl
to Mattias Gaertner: I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer…
Mattias Gaertner wrote 35 lines
On Wed, 18 Feb 2004 09:06:51 +0100 (CET) wrote: >From: "Matt Henley" >To: >Subject: [fpc-pascal]Error Making CVS version of compiler >Date sent: Tue, 17 Feb 2004 20:06:49 -0600 > > . > . > >>/usr/local/bin/ppc386 -Ur -Xs -OG2p3 -n -Fi../inc >>-Fi../i386 -Fi../unix >>-Fii386 -FE. -di386 -dRELEASE ../unix/dos.pp >>dos.pp(227,1) Fatal: Syntax error, "BEGIN" expected but >>"identifier >>THREADVAR" found >>make[3]: *** [dos.ppu] Error 1 >>make[3]: Leaving directory >>`/home/matt/fpc/fpc/rtl/linux' >>make[2]: *** [cycle] Error 2 > > . > . > >First of all, there's been an error in CVS, but this has been >fixed in between. However, you'll probably have to start cycling >with a 1.0.10 compiler. This is a general rule - if cycling >doesn't work with the snapshot, try to start with the latest >official _release_ version (not beta!) - this rule should be >added to the build FAQ probably. I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer 1.9.3. If not, then it's time to increase the version number.

Then we would have once per week a new version number. It happens quite often that the a one day old cvs version can't compile the current cvs compiler because either of a new feature or simply a bug in the older compiler. That's why we have the very simple rule: start building a new compiler with the lastest stable release.

Show quoted text 13 lines
In this case the rtl/unix/dos.pp contains some lines, that look suspicious to me: {$ifdef HASTHREADVAR} {$ifdef VER1_9_2} var {$else VER1_9_2} threadvar {$endif VER1_9_2} {$else HASTHREADVAR} var {$endif HASTHREADVAR}

I added these conditions to allow bootstrapping on PowerPC. Because there is no 1.0.10-ppc is available, we can use only 1.9.2.

Marco van de Voort
to Mattias Gaertner: I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer…
Show quoted text 5 lines
> fixed in between. However, you'll probably have to start cycling > with a 1.0.10 compiler. This is a general rule - if cycling > doesn't work with the snapshot, try to start with the latest > official _release_ version (not beta!) - this rule should be > added to the build FAQ probably.

It is in the buildfaq, with a rationale even, and probably also in the normal faq. It's a rule that is with FPC as long as I'm a part of it.

I don't want to critize you, but I think, a 1.9.3 should be able to compile a newer 1.9.3. If not, then it's time to increase the version number.

That's not how FPC versioning works, and is also not sane for a compiler There is an infinite range of 1.9.3 versions, and incompabilities between them can be very small, but the differences from versions near 1.9.3 are gradually increasing going from 1.9.2 to 1.9.4. We would go up in version faster than the avg Linux distro!

On the other hand, the release compiler's problems and peculiarities are more wellknown.

There is a paragraph about FPC versioning in the FAQ

Show quoted text 12 lines
In this case the rtl/unix/dos.pp contains some lines, that look suspicious to me: {$ifdef HASTHREADVAR} {$ifdef VER1_9_2} var {$else VER1_9_2} threadvar {$endif VER1_9_2} {$else HASTHREADVAR} var {$endif HASTHREADVAR}

The 1.9 beta's (1.9 and 1.9.2) are somewhat special. They are not formal releases, but are quite stable. Maybe one of the later 1.9.x beta's will be rubberstamped "release", to replace 1.0.10 as starting compiler. This would allow to remove 1.0.x startingcompiler support from the codebase.