Recent

Author Topic: Want to help, hit & miss building fpc and lazarus stable, fixes and trunk...  (Read 2189 times)

Bram71

  • New Member
  • *
  • Posts: 26
Hi everyone,

I want to help (if possible)...

At the moment at least for me, stable, fixes and trunk all fail to build from source with fpcupdeluxe all for a different reasons depending on platform. I work on Linux (XUbuntu 20.04 gtk2) and Windows 7 & 10 (just for testing & debugging) and do cross compiling to arm / aarch64.

When trying to build trunk on Windows it barfs on:
t_embed.pas(1704,3) Fatal: Syntax error, "NIL" expected but "(" found

When trying to build trunk on Linux i can not include "chm help" or it hangs on that.

When trying to build fixes on Linux it barfs on:
0038518: gtk2wsstdctrls.pp(1821,41) Error: identifier idents no member "HasEditBox"

And so on...

All not earth shattering but possibly a "put off" for new and less experienced users of this in my opinion magnificend sw combo of fpc and lazarus.

What worries me the most, is that even building fpc + lazarus stable from source fails on Linux with:
/home/administrator/LazStable/fpc/units/x86_64-linux/chm/chmreader.ppu:chmreader.pas(80,12) Fatal: (10022) Can't find unit chmreader used by ChmLangRef

Since i have been bitten by this before and always make shure i have a working backup of the latest (& greatest) working version (i depend on Laz + fpc for my livelyhood) before updating, i am wondering if i can help in any way.

Would it help maybe if i set up a "build farm" that builds the latest committed versons of stable, fixes and trunk for Linux & Windows that reports back if a build fails?

For me its not a problem but i imagine anyone "trying" to get going and trying out a not pre built version would "run away" to the usual plethora (with their own problems) of other programming languages in the crooked Tiobe top ten...

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3942
  • I like bugs.
When trying to build trunk on Linux i can not include "chm help" or it hangs on that.
That is unexpected. I have tested the chm help system (LHelp) recently with FPC 3.2. Others have tested with FPC 3.2.1 or trunk. Works well.

Quote
When trying to build fixes on Linux it barfs on:
0038518: gtk2wsstdctrls.pp(1821,41) Error: identifier idents no member "HasEditBox"
It was reported and is fixed now.
 https://bugs.freepascal.org/view.php?id=38518

Quote
And so on...
All not earth shattering but possibly a "put off" for new and less experienced users of this in my opinion magnificend sw combo of fpc and lazarus.
What worries me the most, is that even building fpc + lazarus stable from source fails on Linux with:
/home/administrator/LazStable/fpc/units/x86_64-linux/chm/chmreader.ppu:chmreader.pas(80,12) Fatal: (10022) Can't find unit chmreader used by ChmLangRef
I don't believe you. The release versions are delivered as binaries. They certainly could be built. You have some other config issue there.

Quote
Since i have been bitten by this before and always make shure i have a working backup of the latest (& greatest) working version (i depend on Laz + fpc for my livelyhood) before updating, i am wondering if i can help in any way.
Would it help maybe if i set up a "build farm" that builds the latest committed versons of stable, fixes and trunk for Linux & Windows that reports back if a build fails?
I don't know how it would improve things. IMO all build problems get reported relatively quickly.

Quote
For me its not a problem but i imagine anyone "trying" to get going and trying out a not pre built version would "run away" to the usual plethora (with their own problems) of other programming languages in the crooked Tiobe top ten...
New users install released versions.
Your FPC trunk + Lazarus trunk is fragile by definition. Many moving parts. Still, most of the time it compiles and works.
Clearly the best way to help is to provide patches that fix bugs or implement missing features.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Bram71

  • New Member
  • *
  • Posts: 26
I understand trunk is a moving target and i just test it every now and then to see if my code is compatible wit forthcoming changes.

My "problem" would be that if i would use the packages provided by Ubuntu i would have to use Lazarus 2.06 / fpc 3.04. Thats why i use fpcupdeluxe and normally use the fixes branch of the compiler and lazarus.

I will be more active in reporting build problems in the bugtracker from now on. Just checked again and lazarus "stable" still won't build with fpcupdeluxe under XUbuntu 20.04 due to a missing unit.

LazStable/fpc/units/x86_64-linux/chm/chmreader.ppu:chmreader.pas(80,12) Fatal: (10022) Can't find unit chmreader used by ChmLangRef

Don't want to anger or dissapoint anyone and fully understand it's all run by volunteers. It just hit me today when i tried to do "clean" installs on some of my vm's.

For me it's not a problem and i am really gratefull for all the work you guys do on these great tools. Like "fixes" builds again without problems now.
« Last Edit: February 20, 2021, 10:43:22 pm by Bram71 »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3942
  • I like bugs.
I understand trunk is a moving target and i just test it every now and then to see if my code is compatible wit forthcoming changes.
My "problem" would be that if i would use the packages provided by Ubuntu i would have to use Lazarus 2.06 / fpc 3.04. Thats why i use fpcupdeluxe and normally use the fixes branch of the compiler and lazarus.
I will be more active in reporting build problems in the bugtracker from now on. Just checked again and lazarus "stable" still won't build with fpcupdeluxe under XUbuntu 20.04 due to a missing unit.
LazStable/fpc/units/x86_64-linux/chm/chmreader.ppu:chmreader.pas(80,12) Fatal: (10022) Can't find unit chmreader used by ChmLangRef
Fpcupdeluxe is another moving target with its own hiccups.
Your bug report about a release tag not working makes absolutely no sense.
 https://bugs.freepascal.org/view.php?id=38521
As Mattias noted the tag has been there since last July and a release was built from it. Clearly the problem is somewhere else. Are we supposed to change an old release tag because of your build problems?
Fpcupdeluxe is not part of Lazarus project. Please report its bugs elsewhere, maybe in this forum or mailing list or in GitHub.
Nonsense bug reports do not help anybody.

The best way to help is still a good quality patch that solves an issue. There are > 2000 open bug reports for Lazarus project alone. Plenty to choose from.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

dbannon

  • Hero Member
  • *****
  • Posts: 1497
    • tomboy-ng, a rewrite of the classic Tomboy
hey Bram71, great you want to help.

But it does seem that that the problem may be at your end. I just refreshed my trunk and built bigide without a problem (well, the a few warnings but thats OK).

Did you do a
Code: Pascal  [Select][+][-]
  1. make clean
before building ?

Edit : Linux, U18.04, FPC320.

Davo
Lazarus 2, Linux (and reluctantly Win10, OSX)
My Project - https://github.com/tomboy-notes/tomboy-ng

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 884
I want to help (if possible)...
Thanks!

Quote
When trying to build trunk on Windows it barfs on:
t_embed.pas(1704,3) Fatal: Syntax error, "NIL" expected but "(" found
It's because you are using FPC 3.0.4 as a starting compiler. While technically the last two official releases are supported to build trunk, in practice often only the last release (currently 3.2.0) gets regularly tested. If you use 3.2.0 as a starting compiler, it will work.

Quote
Would it help maybe if i set up a "build farm" that builds the latest committed versons of stable, fixes and trunk for Linux & Windows that reports back if a build fails?
Someone actually already set this up! See http://build.alb42.de:8080/

Bi0T1N

  • Jr. Member
  • **
  • Posts: 64
Quote
When trying to build trunk on Windows it barfs on:
t_embed.pas(1704,3) Fatal: Syntax error, "NIL" expected but "(" found
It's because you are using FPC 3.0.4 as a starting compiler. While technically the last two official releases are supported to build trunk, in practice often only the last release (currently 3.2.0) gets regularly tested. If you use 3.2.0 as a starting compiler, it will work.

Probably the same issue sstvmaster and I had, for a solution see here.

 

TinyPortal © 2005-2018