[Solved] Error compiling lazarus from SVN on Ubuntu 10.10 64bit lazarus / 1-Linux ---------------------------------------------------------------------- abix_adamj_pl · 2011-04-26 14:32 I have 64bit Ubuntu and I'm trying to compile lazarus IDE from svn. Code: [Select]adasiek@sea-star:~/SVN/harbour$ uname -a Linux sea-star 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC 2011 x86_64 GNU/Linux adasiek@sea-star:~/SVN/harbour$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.10 Release: 10.10 Codename: maverick adasiek@sea-star:~/SVN/harbour$ I have fpc from ubuntu repositories Code: [Select]adasiek@sea-star:~/SVN/harbour$ dpkg -l | grep fpc ii  fpc                                  2.4.0-2                                         Free Pascal Compiler - Meta Package ii  fpc-source                           2.4.0-2                                         Free Pascal Compiler - Source Code adasiek@sea-star:~/SVN/harbour$ fpc Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64 Copyright (c) 1993-2009 by Florian Klaempfl /usr/lib/fpc/2.4.0/ppcx64 [options] [options] When I try to make all from SVN, I get error: Compiling propedits.pp Compiling propeditutils.pp propedits.pp(4458,17) Fatal: Syntax error, ")" expected but "," found Fatal: Compilation aborted make[1]: *** [ideintf.ppu] Błąd 1 make[1]: Opuszczenie katalogu `/home/adasiek/SVN/lazarus/ideintf' make: *** [ideintf] Błąd 2 When I look at the file, there is: Code: [Select]{ TModalResultPropertyEditor } const   ModalResults: array[mrNone..mrLast] of shortstring = (     'mrNone',     'mrOk',     'mrCancel',     'mrAbort',     'mrRetry',     'mrIgnore',     'mrYes',     'mrNo',     'mrAll',     'mrNoToAll',     'mrYesToAll',     'mrClose'); which looks normal.... The point : 4458,17 is located next to     'mrYesToAll', I can't see the reason, why make got an error. Could anyone help ? Best regards, Adam ---------------------------------------------------------------------- Martin_fr · 2011-04-26 15:35 Often this mean you need ot update fpc, because the range for the array changed. However mrNone..mrLast are defined in LCL, so I can't see how an old fpc causes this issue. Anyway you are using 2.4.0 and current Lazarus is supposed to use 2.4.2. So you might try and see if it helps. (I can not see how, so it may not be fpc version in this case) Also check, that there are no modifications in your checkout. mrLast is defined in lcl/controls => and should be mrClose = 11 => and then the array has 12 (0..11) entries. So that would be correct. Sorry just a guess... ---------------------------------------------------------------------- joseme · 2011-04-26 15:56 Quote from: abix_adamj_pl on April 26, 2011, 04:32:18 pmCode: [Select]{ TModalResultPropertyEditor } const   ModalResults: array[mrNone..mrLast] of shortstring = (     'mrNone',     'mrOk',     'mrCancel',     'mrAbort',     'mrRetry',     'mrIgnore',     'mrYes',     'mrNo',     'mrAll',     'mrNoToAll',     'mrYesToAll',     'mrClose'); which looks normal.... The point : 4458,17 is located next to     'mrYesToAll', I can't see the reason, why make got an error. Could anyone help ? Best regards, Adam With array[mrNone..mrLast], last element should be 'mrLast', not 'mrClose' ---------------------------------------------------------------------- abix_adamj_pl · 2011-04-26 19:49 Changing fpc to: QuoteFree Pascal Compiler version 2.4.2-0 [2010/11/20] for x86_64 Copyright (c) 1993-2010 by Florian Klaempfl Target OS: Linux for x86-64 did not help. ;-( I have changed source code to: Code: [Select]const   ModalResults: array[mrNone..mrLast] of shortstring = (     'mrNone',     'mrOk',     'mrCancel',     'mrAbort',     'mrRetry',     'mrIgnore',     'mrYes',     'mrNo',     'mrAll',     'mrNoToAll',     'mrYesToAll');  {   'mrClose'); } After that compilation goes, but failed on: Code: [Select]Compiling menuintf.pas menuintf.pas(1625,16) Error: identifier idents no member "ShortCutKey2" menuintf.pas(1629,16) Error: identifier idents no member "ShortCutKey2" menuintf.pas(1734,16) Error: identifier idents no member "ShortCutKey2" menuintf.pas(1738,16) Error: identifier idents no member "ShortCutKey2" menuintf.pas(1882) Fatal: There were 4 errors compiling module, stopping Fatal: Compilation aborted make[1]: *** [ideintf.ppu] Błąd 1 make[1]: Opuszczenie katalogu `/home/adasiek/SVN/lazarus/ideintf' make: *** [ideintf] Błąd 2 I feel no luck today ;-( Adam ---------------------------------------------------------------------- Martin_fr · 2011-04-26 20:01 try (any local changes will be lost, if you made any) svn -R revert . svn up Somehow you seem to use units from mixed versions (best guess I can make based on the errors.) Maybe your last update failed in the middle and left some files in their old version? Also make sure you only have one set of files. If you intentionally have more than one lazarus version, then make sure no files from the other one are found. (e.g temporarily rename any other lazarus folder, so it can not be found) Also if you use more than one version of Lazarus you must use --primary-config-path. Or you will get conflicts, with for example installed packages... ---------------------------------------------------------------------- Blaazen · 2011-04-26 20:13 Quote from: Martin_fr on April 26, 2011, 10:01:07 pmSomehow you seem to use units from mixed versions .... It must be so because I successfully updated to Lazarus 30480 via svn today. I checked files where you have problems and works well here. ---------------------------------------------------------------------- abix_adamj_pl · 2011-04-27 18:08 I have install fpc from repositiories, maybe that is the trick, I'll try to install fpc by hand, not from repos... ---------------------------------------------------------------------- abix_adamj_pl · 2011-04-27 19:21 On 32-bit, fpc 2.4.2 from source - works great! Next, I'll try tommorow the same on 64-bit ---------------------------------------------------------------------- abix_adamj_pl · 2011-04-28 07:12 Works Great under 64-bit ! The solution was: * get fpc 2.4.2 from source * remove lazarus (because make clean did not clean everything ;-) * then: Code: [Select]svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus cd lazarus make clean all Best regards and thanks a lot for everyone, who try to help. Adam