Lazarus on AMD64 (x86_64) lazarus / 1-Linux ---------------------------------------------------------------------- oddjobz · 2005-01-02 17:59 Hi, Are there any plans to fix the issues that prevent Lazarus from running on 64 bit machines ? Currently there are some specific Integer(pointer) conversions that make the compiler unhappy .. and some Class(IntergetType^) conversions that actually break the compile. (Specifically there's a message structure with an "lParam" property that's cast as a pointer to generate a class pointer - this recurrs fairly frequently...) ?? ---------------------------------------------------------------------- Anonymous · 2005-01-02 18:05 lazarus $ linux32 make make -C lcl all make[1]: Entering directory `/home/oddjob/tmp/lazarus/lcl' /bin/rm -f units/x86_64/linux/alllclunits.ppu /usr/local/bin/ppcx64 -gl -Fu. -Funonwin32 -Fuwidgetset -Fiinclude -FUunits/x86_64/linux -Fl/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 -Fl/usr/local/lib -Fl/pFree Pascal Compiler version 1.9.6 [2004/12/31] for x86_64 Copyright (c) 1993-2004 by Florian Klaempfl Target OS: Linux for x86-64 Compiling alllclunits.pp Compiling filectrl.pp Compiling stdctrls.pp Compiling actnlist.pas Compiling imglist.pp Compiling dialogs.pp Compiling forms.pp Compiling actnlist.pas Compiling controls.pp Compiling forms.pp customform.inc(840,16) Error: Illegal type conversion: "LongInt" to "^tagWINDOWPOS" customform.inc(840,47) Error: Expression type must be class or record type customform.inc(841,13) Error: Identifier not found "flags" customform.inc(841,22) Error: Identifier not found "flags" customform.inc(846,16) Error: Illegal type conversion: "LongInt" to "^tagWINDOWPOS" customform.inc(846,47) Error: Expression type must be class or record type customform.inc(847,13) Error: Identifier not found "flags" customform.inc(847,22) Error: Identifier not found "flags" customform.inc(850,12) Error: Illegal type conversion: "LongInt" to "^tagDrawItemStruct" customform.inc(850,48) Error: Expression type must be class or record type customform.inc(852,13) Error: Identifier not found "CtlType" customform.inc(854,37) Error: Identifier not found "itemID" customform.inc(891,22) Error: Illegal type conversion: "LongInt" to "TBasicAction" customform.inc(897,21) Error: Illegal type conversion: "LongInt" to "TBasicAction" application.inc(581,51) Warning: Conversion between ordinals and pointers is not portable application.inc(959,96) Error: Illegal type conversion: "LongInt" to "TBasicAction" application.inc(971,44) Error: Illegal type conversion: "TBasicAction" to "LongInt" application.inc(974,35) Error: Illegal type conversion: "TBasicAction" to "LongInt" forms.pp(1622) Fatal: There were 17 errors compiling module, stopping make[1]: *** [alllclunits.ppu] Error 1 make[1]: Leaving directory `/home/oddjob/tmp/lazarus/lcl' make: *** [lcl] Error 2 ---------------------------------------------------------------------- Marc · 2005-01-05 10:49 At the moment I'm "porting" Lazarus to AMD64. Lazarus compiles now, however we found out that most X headers are translated wrong. This may also be the case for other headers as well. As soon that is fixed, I'll commit the changes.