Sign in Join

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

Mailing lists / lazarus / 2012-08

[Ubuntu 12.04 x64] Can't build Lazarus

10 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'm trying to build Lazarus 1.0 RC1
(https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%201.0RC1/). I want to install a component (GLScene).

When I do "Optimized IDE" build I get this error:

Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.6.0 [2012/07/28] for x86_64 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Linux for x86-64
Compiling fcllaz.pas
Compiling registerfcl.pas
Compiling lazaruspackageintf.pas
...
...
...
"Compiling package RunTimeTypeInfoControls 0.1" completed Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.6.0 [2012/07/28] for x86_64 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Linux for x86-64
Compiling allsynedit.pas
Compiling synbeautifier.pas
Compiling syneditmiscclasses.pp
Compiling synedithighlighter.pp
Compiling synedittypes.pp
Compiling synedittextbase.pas
Compiling syneditmiscprocs.pp
Compiling syneditkeycmds.pp
Compiling syneditstrconst.pp
Writing Resource String Table file: syneditstrconst.rst Compiling lazsynedittext.pas
Compiling syneditpointclasses.pas
/usr/share/lazarus/1.0RC1/components/synedit/syneditmiscclasses.pp(719,40) Warning: Symbol "MergeFrames" is deprecated
Compiling synedit.pp
Compiling syneditsearch.pp
Compiling synregexpr.pas
synregexpr.pas(3206,62) Hint: Local variable "SavedLoopStack" does not seem to be initialized
Compiling syneditmousecmds.pp
Compiling lazsyneditmousecmdstypes.pp
Compiling syneditmarks.pp
Compiling syneditmarkup.pp
Compiling synedit.pp
Compiling syneditmarkuphighall.pp
Compiling synedit.pp
Compiling syneditmarkupbracket.pp
Compiling synedit.pp
Compiling syneditmarkupwordgroup.pp
Compiling synedithighlighterfoldbase.pas
/usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(739,13) Error: Asm: [movsxd mem64,reg32] invalid combination of opcode and operands
/usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(756,13) Error: Asm: [movsxd mem64,reg32] invalid combination of opcode and operands
/usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(1,1) Fatal: There were 2 errors compiling module, stopping

Regards,
Kjow

Reply by email

Martin
to Kjow
Kjow wrote 16 lines
I'm trying to build Lazarus 1.0 RC1 (https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%201.0RC1/). I want to install a component (GLScene). When I do "Optimized IDE" build I get this error: Compiling syneditmarkupwordgroup.pp Compiling synedithighlighterfoldbase.pas /usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(739,13) Error: Asm: [movsxd mem64,reg32] invalid combination of opcode and operands /usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(756,13) Error: Asm: [movsxd mem64,reg32] invalid combination of opcode and operands /usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(1,1) Fatal: There were 2 errors compiling module, stopping

Looks like an error in FPC.

And there already is a workaround in the lazarus source. But it is conditional

And it looks there is a typo. Open the unit and find:

{$IFDEF CPU64}
{$IF (FPC_FULLVERSION = 2060) or (FPC_FULLVERSION = 20501)}
   {$DEFINE ISSUE_20850 }
{$ENDIF}
{$ENDIF}

replace 2060 with 20600

Reply by email

Kjow
to Martin

2012/8/8 Martin :

Show quoted text 19 lines
> /usr/share/lazarus/1.0RC1/components/synedit/synedithighlighterfoldbase.pas(1,1) > Fatal: There were 2 errors compiling module, stopping Looks like an error in FPC. And there already is a workaround in the lazarus source. But it is conditional And it looks there is a typo. Open the unit and find: {$IFDEF CPU64} {$IF (FPC_FULLVERSION = 2060) or (FPC_FULLVERSION = 20501)} {$DEFINE ISSUE_20850 } {$ENDIF} {$ENDIF} replace 2060 with 20600

It worked, but now:

Unable to find file "registersqldb.pas".
If it belongs to your project, check search path in Project -> Compiler Options -> Search Paths -> Other Unit Files. If this file belongs to a package, check the appropriate package compiler options. If this file belongs to lazarus, make sure compiling clean. If the file belongs to FPC then check fpc.cfg. If unsure, check Project -> CompilerOptions -> Test

Thank you,
Kjow

Reply by email

Ludo Brands
to Kjow
Show quoted text 12 lines
It worked, but now: Unable to find file "registersqldb.pas". If it belongs to your project, check search path in Project -> Compiler Options -> Search Paths -> Other Unit Files. If this file belongs to a package, check the appropriate package compiler options. If this file belongs to lazarus, make sure compiling clean. If the file belongs to FPC then check fpc.cfg. If unsure, check Project -> CompilerOptions -> Test

That is a known bug : http://bugs.freepascal.org/view.php?id=22579

RC1 doesn't build on linux x64.

Ludo

Reply by email

Graeme Geldenhuys
to Ludo Brands: That is a known bug : http://bugs.freepascal.org/view.php?id=22579 RC1 doesn't build on…
Ludo Brands wrote
RC1 doesn't build on linux x64.

That is not 100% true. I use 64-bit Linux (OpenSUSE 12.01), and I've tested and build RC1 multiple times. The only failure I had was due to an outdated FPC 2.6.1

Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Ludo Brands
to Graeme Geldenhuys
That is not 100% true. I use 64-bit Linux (OpenSUSE 12.01), and I've tested and build RC1 multiple times. The only failure I had was due to an outdated FPC 2.6.1

The problem is with Lazarus and fpc 2.6.0 installed from the release deb's. Lazarus is installed in non-user land and when re-building lazarus, new .o and .ppu files are stored in the users ~/.lazarus dir branch. Problem is that when compiling lazarus.pp it is looking in a different ~/.lazarus subdir then when building packages and ends up with loading an older unit from the original distribution.
Don't know if the same happens when installing from rpm.

Ludo

Reply by email

Graeme Geldenhuys
to Ludo Brands
Ludo Brands wrote
The problem is with Lazarus and fpc 2.6.0 installed from the release deb's.

Ah, OK. For those users I then recommend installing from the source release .zip or .tar.gz file. At least then you can continue testing Lazarus.

Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Ludo Brands
to Graeme Geldenhuys
Show quoted text 5 lines
Ah, OK. For those users I then recommend installing from the source release .zip or .tar.gz file. At least then you can continue testing Lazarus.

That's what I'm usually doing. I was just setting up a new system and wanted to give rc1 a try. If everybody continues installing from source, RC1 won't get a lot of testing, does it? Can you imagine the dent in the reputation of lazarus when this bug made it in 1.0 final?

Ludo

Reply by email

Graeme Geldenhuys
to Ludo Brands
Ludo Brands wrote
If everybody continues installing from source, RC1 won't get a lot of testing, does it?

RC1 is still the same "product" even if you install it from RPM, DEB's or Source. So yes, the 1.0rc1 product will still get testing. At least you can continue testing it using the Sources, and not stop testing completely just because you stumbled on the first hurdle - the installation.

Hopefully they fix the RPM, DEB's issues for RC2 so that the "installation" part can be tested too.

Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email