Sign in Join

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

Mailing lists / fpc-pascal / 2013-05

Trunk seems to break again!?!?

18 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

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

Reinier Olislagers

On Linux x64 with a clean fpc directory, using fpcup: svn info:
...
Last Changed Author: joost
Last Changed Rev: 24622
Last Changed Date: 2013-05-26 22:51:41 +0200 (Sun, 26 May 2013)

...
make -C linux all
make[4]: Entering directory `/home/pascaldev/trunk/fpc/rtl/linux' make[4]: Leaving directory `/home/pascaldev/trunk/fpc/rtl/linux' /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake -p -Tx86_64-linux Makefile.fpc make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not found ...

fpcmake indeed does not exist there.

Vincent Snijders
to Reinier Olislagers

2013/5/27 Reinier Olislagers

Show quoted text 17 lines
On Linux x64 with a clean fpc directory, using fpcup: svn info: ... Last Changed Author: joost Last Changed Rev: 24622 Last Changed Date: 2013-05-26 22:51:41 +0200 (Sun, 26 May 2013) ... make -C linux all make[4]: Entering directory `/home/pascaldev/trunk/fpc/rtl/linux' make[4]: Leaving directory `/home/pascaldev/trunk/fpc/rtl/linux' /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake -p -Tx86_64-linux Makefile.fpc make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not found ... fpcmake indeed does not exist there.

I got a different problem on poerpc-darwin with r24621: https://fpcbuildserver.firmos.at/job/buildfpc_branch/platform=powerpc-darwin/902/console It hangs.
Back trace:
(gdb) bt
#0 0x900144ac in read ()
#1 0x00082490 in BASEUNIX_$$_FPREAD$LONGINT$formal$LONGWORD$$LONGINT () #2 0x0007e608 in SYSUTILS_$$_FILEREAD$LONGINT$formal$LONGINT$$LONGINT () #3 0x00086bb4 in
CLASSES$_$THANDLESTREAM_$__$$_READ$formal$LONGINT$$LONGINT () #4 0x000c9b2c in
PIPES$_$TINPUTPIPESTREAM_$__$$_READ$formal$LONGINT$$LONGINT () #5 0x00012a1c in
P$FPMAKE$_$FPCM_UPDATE_REVISION_INFO$TOBJECT_$$_READSVNLINE$TPROCESS$ANSISTRING$$BOOLEAN ()
#6 0x000123f0 in P$FPMAKE_$$_FPCM_UPDATE_REVISION_INFO$TOBJECT () #7 0x000542e8 in FPMKUNIT$_$TBUILDENGINE_$__$$_DOBEFORECOMPILE$TPACKAGE () #8 0x00056000 in FPMKUNIT$_$TBUILDENGINE_$__$$_COMPILE$TPACKAGE () #9 0x0005726c in FPMKUNIT$_$TBUILDENGINE_$__$$_MAYBECOMPILE$TPACKAGE () #10 0x00058f38 in FPMKUNIT$_$TBUILDENGINE_$__$$_COMPILE$TPACKAGES () #11 0x0004deb0 in FPMKUNIT$_$TCUSTOMINSTALLER_$__$$_COMPILE$BOOLEAN () #12 0x0004e1dc in FPMKUNIT$_$TCUSTOMINSTALLER_$__$$_RUN$$BOOLEAN () #13 0x000187c0 in PASCALMAIN ()
#14 0x0003f314 in SYSTEM_$$_FPC_SYSTEMMAIN$LONGINT$PPCHAR$PPCHAR () #15 0x0001155c in start ()

Vincent

Jonas Maebe
to Vincent Snijders
Vincent Snijders wrote
I got a different problem on poerpc-darwin with r24621: https://fpcbuildserver.firmos.at/job/buildfpc_branch/platform=powerpc-darwin/902/console It hangs.

I've fixed this problem. It was caused by the use of an unitialized value. Make sure to "distclean" first, because otherwise the old, buggy compiled fpmake version will be used again. Since fpmake has to be compiled by something else that knows about dependencies anyway (either a Makefile or some other fpmake), its dependencies should be properly specified so that an fpmake is compiled when any of its included files changes.

Jonas

Jonas Maebe
to Reinier Olislagers: On Linux x64 with a clean fpc directory, using fpcup: svn info: ... Last Changed Author:…
Reinier Olislagers wrote 18 lines
On Linux x64 with a clean fpc directory, using fpcup: svn info: ... Last Changed Author: joost Last Changed Rev: 24622 Last Changed Date: 2013-05-26 22:51:41 +0200 (Sun, 26 May 2013) ... make -C linux all make[4]: Entering directory `/home/pascaldev/trunk/fpc/rtl/linux' make[4]: Leaving directory `/home/pascaldev/trunk/fpc/rtl/linux' /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake -p -Tx86_64-linux Makefile.fpc make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not found ... fpcmake indeed does not exist there.

During the execution of which top-level "make" command does this happen, and what has (successfully) executed before that?

Jonas

Jonas Maebe
to Jonas Maebe
Jonas Maebe wrote 11 lines
On 27 May 2013, at 09:49, Reinier Olislagers wrote: > make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not > found > ... > > fpcmake indeed does not exist there. During the execution of which top-level "make" command does this happen, and what has (successfully) executed before that?

However, regardless of that: the final binary locations under "utils" indeed seem to have been changed by the move to fpmake.

Jonas

Vincent Snijders
to Jonas Maebe: I've fixed this problem. It was caused by the use of an unitialized value. Make sure to…

2013/5/27 Jonas Maebe

Show quoted text 17 lines
On 27 May 2013, at 09:58, Vincent Snijders wrote: I got a different problem on poerpc-darwin with r24621: > https://fpcbuildserver.firmos.**at/job/buildfpc_branch/** > platform=powerpc-darwin/902/**console<https://fpcbuildserver.firmos.at/job/buildfpc_branch/platform=powerpc-darwin/902/console> > It hangs. > I've fixed this problem. It was caused by the use of an unitialized value. Make sure to "distclean" first, because otherwise the old, buggy compiled fpmake version will be used again. Since fpmake has to be compiled by something else that knows about dependencies anyway (either a Makefile or some other fpmake), its dependencies should be properly specified so that an fpmake is compiled when any of its included files changes.

Thanks. The hang has been fixed.

Now it just fails:
Start compiling package h2pas for target powerpc-darwin. Executing command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" The installer encountered the following error:
External command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" failed with exit code 1. Console output:
TP Yacc Version 4.1a [April 2000], Copyright (c) 1990-2000 Albert Graef

FATAL: cannot open file /usr/local/lib/fpc/lexyacc/yyparse.cod

Is that due to an incomplete installation of the release compiler (missing yyparse.cod)?

Vincent

Reinier Olislagers
to Jonas Maebe: During the execution of which top-level "make" command does this happen, and what has…
Jonas Maebe wrote 23 lines
On 27 May 2013, at 09:49, Reinier Olislagers wrote: > On Linux x64 with a clean fpc directory, using fpcup: > svn info: > ... > Last Changed Author: joost > Last Changed Rev: 24622 > Last Changed Date: 2013-05-26 22:51:41 +0200 (Sun, 26 May 2013) > > ... > make -C linux all > make[4]: Entering directory `/home/pascaldev/trunk/fpc/rtl/linux' > make[4]: Leaving directory `/home/pascaldev/trunk/fpc/rtl/linux' > /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake -p -Tx86_64-linux > Makefile.fpc > make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not found > ... > > fpcmake indeed does not exist there. During the execution of which top-level "make" command does this happen, and what has (successfully) executed before that?

Hope this still can be helpful: at r24623 tried again with clean fpc dir, same result:
1. This happens at make install:
make "FPC=/home/pascaldev/trunk/fpcbootstrap/x86_64-linux-ppcx64" "--directory=/home/pascaldev/trunk/fpc"
"INSTALL_PREFIX=/home/pascaldev/trunk/fpc"
"INSTALL_BINDIR=/home/pascaldev/trunk/fpc/bin/x86_64-linux" "install" (working dir: /home/pascaldev/trunk/fpc)
2. Command that succeeded before that was make all: Executing : make
"FPC=/home/pascaldev/trunk/fpcbootstrap/x86_64-linux-ppcx64" "--directory=/home/pascaldev/trunk/fpc" "OPT=-g -gl -O1" "all" (working dir: /home/pascaldev/trunk/fpc)

Complete log at
http://ubuntuone.com/1RVa6ZioljD7zUI6r7qe5o

Thanks,
Reinier

Jonas Maebe
to Vincent Snijders: 2013/5/27 Jonas Maebe Thanks. The hang has been fixed. Now it just fails: Start compiling…
Vincent Snijders wrote 15 lines
Now it just fails: Start compiling package h2pas for target powerpc-darwin. Executing command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" The installer encountered the following error: External command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" failed with exit code 1. Console output: TP Yacc Version 4.1a [April 2000], Copyright (c) 1990-2000 Albert Graef FATAL: cannot open file /usr/local/lib/fpc/lexyacc/yyparse.cod Is that due to an incomplete installation of the release compiler (missing yyparse.cod)?

Maybe. That files exists at least in my FPC 2.6.2 installation. Does the fink version of FPC not install it? Or does the fink version look in the wrong directory for it? Maybe this is something else Joost changed, but I would guess that it should not use the previously installed pyacc or yyparse.cod to build the new h2pas, but the newly built one. At least I suppose it was like that in the past.

Jonas

Reinier Olislagers
to Jonas Maebe: However, regardless of that: the final binary locations under "utils" indeed seem to have…
Jonas Maebe wrote 16 lines
On 27 May 2013, at 13:57, Jonas Maebe wrote: > > On 27 May 2013, at 09:49, Reinier Olislagers wrote: > >> make[3]: /home/pascaldev/trunk/fpc/utils/fpcm/fpcmake: Command not found >> ... >> >> fpcmake indeed does not exist there. > > During the execution of which top-level "make" command does this > happen, and what has (successfully) executed before that? However, regardless of that: the final binary locations under "utils" indeed seem to have been changed by the move to fpmake.

Oh BTW, I have a directory
$(fpcdir)\utils\fpmc where there's an fpmake.pp but no executable while the error message refers to
fpcm (two letters reversed)...

Jonas Maebe
to Reinier Olislagers
Reinier Olislagers wrote
Oh BTW, I have a directory $(fpcdir)\utils\fpmc where there's an fpmake.pp but no executable while the error message refers to fpcm (two letters reversed)...

You also have a directory called "fpcm". "fpcm" = fpcmake, "fpmc" = "fpc message compiler". And as mentioned, the problem is that the fpcmake binary has been moved by the switch to fpmake, but apparently some makefile that wants to use the newly compiled fpcmake binary hasn't been adapted to this.

Jonas

Reinier Olislagers
to Jonas Maebe
Jonas Maebe wrote 12 lines
On 27 May 2013, at 18:47, Reinier Olislagers wrote: > Oh BTW, I have a directory $(fpcdir)\utils\fpmc where there's an > fpmake.pp but no executable while the error message refers to fpcm > (two letters reversed)... You also have a directory called "fpcm". "fpcm" = fpcmake, "fpmc" = "fpc message compiler". And as mentioned, the problem is that the fpcmake binary has been moved by the switch to fpmake, but apparently some makefile that wants to use the newly compiled fpcmake binary hasn't been adapted to this.

Argh. You're right.

Joost van der Sluis
to Jonas Maebe: Maybe. That files exists at least in my FPC 2.6.2 installation. Does the fink version of…
Jonas Maebe wrote 24 lines
On 27 May 2013, at 14:44, Vincent Snijders wrote: > Now it just fails: > Start compiling package h2pas for target powerpc-darwin. > Executing command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" > The installer encountered the following error: > External command "/sw/bin/pyacc h2pas/h2pas.y h2pas/h2pas.pas" > failed with > exit code 1. Console output: > TP Yacc Version 4.1a [April 2000], Copyright (c) 1990-2000 Albert > Graef > > FATAL: cannot open file /usr/local/lib/fpc/lexyacc/yyparse.cod > > Is that due to an incomplete installation of the release compiler > (missing > yyparse.cod)? Maybe. That files exists at least in my FPC 2.6.2 installation. Does the fink version of FPC not install it? Or does the fink version look in the wrong directory for it? Maybe this is something else Joost changed, but I would guess that it should not use the previously installed pyacc or yyparse.cod to build the new h2pas, but the newly built one. At least I suppose it was like that in the past.

It uses the pyacc that is already installed on the system. So unless that version is installed using fpmake, this problem did already exist.

But the underlying problem is that h2pas.pas is generated again. That should not be necessary. It is probably fixed in r24624. Can you check that? Please do a make distclean first.

Joost.

Vincent Snijders
to Joost van der Sluis

2013/5/27 Joost van der Sluis

Show quoted text 9 lines
It uses the pyacc that is already installed on the system. So unless that version is installed using fpmake, this problem did already exist. But the underlying problem is that h2pas.pas is generated again. That should not be necessary. It is probably fixed in r24624. Can you check that? Please do a make distclean first.

Yes, I can build as before.

Thanks,
Vincent

Joost van der Sluis
to Reinier Olislagers: Hope this still can be helpful: at r24623 tried again with clean fpc dir, same result: 1.…
Reinier Olislagers wrote 16 lines
Hope this still can be helpful: at r24623 tried again with clean fpc dir, same result: 1. This happens at make install: make "FPC=/home/pascaldev/trunk/fpcbootstrap/x86_64-linux-ppcx64" "--directory=/home/pascaldev/trunk/fpc" "INSTALL_PREFIX=/home/pascaldev/trunk/fpc"24625? "INSTALL_BINDIR=/home/pascaldev/trunk/fpc/bin/x86_64-linux" "install" (working dir: /home/pascaldev/trunk/fpc) 2. Command that succeeded before that was make all: Executing : make "FPC=/home/pascaldev/trunk/fpcbootstrap/x86_64-linux-ppcx64" "--directory=/home/pascaldev/trunk/fpc" "OPT=-g -gl -O1" "all" (working dir: /home/pascaldev/trunk/fpc) Complete log at http://ubuntuone.com/1RVa6ZioljD7zUI6r7qe5o

Can you try with r24625?

Joost.

Reinier Olislagers
to Joost van der Sluis
Joost van der Sluis wrote
On Mon, 2013-05-27 at 14:44 +0200, Reinier Olislagers wrote: Can you try with r24625?

Thanks, that seems to fix that problem for Windows.

Some more things though:
- $(fpcdir)\utils\fpdoc\fpdoc.exe does not seem to be created (Windows)
- $(fpcdir)/bin/x86_64-linux/fpcmkcfg does not seem to be created (Linux x64)

(All found using fpcup)

Joost van der Sluis
to Reinier Olislagers
Reinier Olislagers wrote 10 lines
On 27-5-2013 21:24, Joost van der Sluis wrote: > On Mon, 2013-05-27 at 14:44 +0200, Reinier Olislagers wrote: > Can you try with r24625? Thanks, that seems to fix that problem for Windows. Some more things though: - $(fpcdir)\utils\fpdoc\fpdoc.exe does not seem to be created (Windows) - $(fpcdir)/bin/x86_64-linux/fpcmkcfg does not seem to be created (Linux x64)

I' a little bit confused, because from a prior log that you send I saw that you install fpc in the source-directory.

It's perfectly normal that both files are not generated. Why do you expect those files there?

Joost.

Reinier Olislagers
to Joost van der Sluis
Joost van der Sluis wrote 14 lines
On Tue, 2013-05-28 at 08:08 +0200, Reinier Olislagers wrote: > On 27-5-2013 21:24, Joost van der Sluis wrote: >> On Mon, 2013-05-27 at 14:44 +0200, Reinier Olislagers wrote: >> Can you try with r24625? > > Thanks, that seems to fix that problem for Windows. > > Some more things though: > - $(fpcdir)\utils\fpdoc\fpdoc.exe does not seem to be created (Windows) > - $(fpcdir)/bin/x86_64-linux/fpcmkcfg does not seem to be created (Linux > x64) I' a little bit confused, because from a prior log that you send I saw that you install fpc in the source-directory.

Yep, naughty me.

It's perfectly normal that both files are not generated. Why do you expect those files there?

Because they were there before ;) (running make distclean with options 2x, make all, make install).
I've worked around the fpdoc thing, haven't looked at Linux yet. I'll do a make install to another directory and see if fpmkcfg pops up somewhere.

Joost van der Sluis
Show quoted text 6 lines
> It's perfectly normal that both files are not generated. Why do you > expect those files there? Because they were there before ;) (running make distclean with options 2x, make all, make install). I've worked around the fpdoc thing, haven't looked at Linux yet. I'll do a make install to another directory and see if fpmkcfg pops up somewhere.

What has changed is that binaries were placed into <packagedir>/bin during compile, while units are placed in <packagedir>/units/<cpu>-<os>.

Now binaries are also placed in <packagedir>/bin/<cpu>-<os>.

So after compilations those two files should exist:

<fpcsrc>/utils/fpdoc/bin/<cpu>-<os)/fpdoc[.exe]
<fpcsrc>/utils/fpcmkcfg/bin/<cpu>-<os>/fpcmkcfg[.exe]

The location where the file is installed into, did not change though. So after installation these two files should exist:

<baseinstalldir>/bin/fpdoc[.exe]
<baseinstalldir>/bin/fpcmkcfg[.exe]

Joost.