Recent

Author Topic: How to compile a Lazarus Project for x86_64?  (Read 7127 times)

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« on: April 01, 2007, 09:56:18 pm »
I downloaded FPC 2.0.4 x86_64 and it's source.
Then I compiled Lazaurs 0.9.23 on my 64bit AMD-Turion-Laptop.

When I type ./lazarus I get the message lazarus don't exists.
When I double-click the executable nothing happens.

How can I compile my finished project for 64bit?

antonio

  • Hero Member
  • *****
  • Posts: 605
RE: How to compile a Lazarus Project for x86_64?
« Reply #1 on: April 01, 2007, 10:22:58 pm »

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« Reply #2 on: April 02, 2007, 01:25:41 am »
I need a way to compile it in 64bit. I'm coding on 32bit but the installer should be also for the 64bit version. Since FPC exists in 64bit I thought lazarus would also be for 64bit. Seems I'm wrong or did something wrong.

Is there a way to compile a pascal project directly with FPC?

Vincent Snijders

  • Administrator
  • Hero Member
  • *
  • Posts: 2661
    • My Lazarus wiki user page
How to compile a Lazarus Project for x86_64?
« Reply #3 on: April 02, 2007, 10:26:51 am »
What exact message did you get? Was the file lazarus created?

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« Reply #4 on: April 02, 2007, 11:48:14 am »
Here are my compiling logs:

http://paldo.org/~amnon/20070401/compiling-logs_x86_64.tar.bz2

and this is the exact message:

Code: [Select]
[root@virgin:/usr/lib]# chmod -R 777 lazarus
[root@virgin:/usr/lib]# cd lazarus
[root@virgin:/usr/lib/lazarus]# make clean all > /lazarus.log
Makefile:3814: warning: overriding commands for target `examples'
Makefile:3774: warning: ignoring old commands for target `examples'
Makefile:2762: warning: overriding commands for target `.'
Makefile:2760: warning: ignoring old commands for target `.'
[root@virgin:/usr/lib/lazarus]# ./lazarus
-bash: ./lazarus: No such file or directory
[root@virgin:/usr/lib/lazarus]# dir
components            debian     ide        lazbuild      packager
converter             debugger   ideintf    lcl           README.txt
COPYING               designer   images     localize.bat  startlazarus
COPYING.GPL           doceditor  install    localize.sh   test
COPYING.LGPL          docs       languages  Makefile      tools
COPYING.modifiedLGPL  examples   lazarus    Makefile.fpc  units
[root@virgin:/usr/lib/lazarus]#


I tried it now with 0.9.22

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« Reply #5 on: April 02, 2007, 03:19:32 pm »
some from the IRC-Chat:

on my 64bit system:

Code: [Select]
<amnon_lapi> -bash: ./lazarus: No such file or directory
<fpcfan> type 'file ./lazarus
<fpcfan> '
<amnon_lapi> [root@virgin:/usr/lib/lazarus]# /usr/lib/lazarus/lazarus
<amnon_lapi> -bash: /usr/lib/lazarus/lazarus: No such file or directory
<amnon_lapi> [root@virgin:/usr/lib/lazarus]# file ./lazarus
<amnon_lapi> ./lazarus: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped
<amnon_lapi> do I miss some libs?
<fpcfan> I have no clue. I am not a linux guru
<Peper> fpcfan: GetHeapStatus.TotalAllocated shows they are not
<Peper> amnon_lapi: ldd lazarus
<amnon_lapi> [root@virgin:/usr/lib/lazarus]# ldd ./lazarus
<amnon_lapi> /usr/bin/ldd: line 116: ./lazarus: No such file or directory
<amnon_lapi> using same distro in 32bit. there it works


on my 32bit system:

Code: [Select]
[root@amnonspc:/usr/lazarus]# file ./lazarus
./lazarus: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

amnon> [root@amnonspc:/usr/lazarus]# ldd ./lazarus
<amnon>         linux-gate.so.1 =>  (0xb7fc8000)
<amnon>         libpthread.so.0 => /lib/libpthread.so.0 (0xb7f9a000)
<amnon>         libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0xb7f75000)
<amnon>         libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0xb7f40000)
<amnon>         libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e52000)
<amnon>         libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0xb7d0b000)
<amnon>         libXi.so.6 => /usr/lib/libXi.so.6 (0xb7d03000)
<amnon>         libXext.so.6 => /usr/lib/libXext.so.6 (0xb7cf5000)
<amnon>         libm.so.6 => /lib/libm.so.6 (0xb7ccf000)
<amnon>         libgdk_pixbuf.so.2 => /usr/lib/libgdk_pixbuf.so.2 (0xb7cba000)
<amnon>         libdl.so.2 => /lib/libdl.so.2 (0xb7cb6000)
<amnon>         libc.so.6 => /lib/libc.so.6 (0xb7b8b000)
<amnon>         /lib/ld-linux.so.2 (0xb7fc9000)
<amnon>         libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0xb7b88000)
<amnon>         libXau.so.6 => /usr/lib/libXau.so.6 (0xb7b85000)
<amnon>         libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7b80000)

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« Reply #6 on: April 02, 2007, 04:18:33 pm »
Then I did it manual:

Code: [Select]
[root@virgin:/usr/lib/lazarus/lcl]# make LCL_PLATFORM=gtk
/bin/rm -f units/x86_64-linux/alllclunits.ppu
/usr/bin/ppcx64 -gl -Fu. -Funonwin32 -Fuforms -Fuwidgetset -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/rtl -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/hash -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/paszlib -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/netdb -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/libasync -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/pthreads -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/fcl -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/pasjpeg -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/ibase -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/postgres -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/mysql -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/odbc -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/oracle -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/sqlite -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/x11 -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/opengl -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/gtk -Fiinclude -FE. -FUunits/x86_64-linux -Fl/usr/lib/gcc/x86_64-unknown-linux-gnu/4.1.2 -Fl/usr/local/lib -dx86_64 alllclunits.pp
Free Pascal Compiler version 2.0.4 [2006/08/20] for x86_64
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling alllclunits.pp
Assembling alllclunits
69 Lines compiled, 0.8 sec
make -C interfaces all
make[1]: Entering directory `/usr/lib/lazarus/lcl/interfaces'
make -C gtk all
make[2]: Entering directory `/usr/lib/lazarus/lcl/interfaces/gtk'
/bin/rm -f ../../units/x86_64-linux/gtk/interfaces.ppu \
                ../../units/x86_64-linux/gtk/interfaces.o
/usr/bin/ppcx64 -gl -dgtk1 -Fu../../units/x86_64-linux -Fu. -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/rtl -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/hash -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/paszlib -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/netdb -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/libasync -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/pthreads -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/fcl -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/gtk -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/pasjpeg -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/ibase -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/postgres -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/mysql -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/odbc -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/oracle -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/sqlite -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/x11 -Fu/usr/lib/fpc/2.0.4/units/x86_64-linux/opengl -FE. -FU../../units/x86_64-linux/gtk -Fl/usr/lib/gcc/x86_64-unknown-linux-gnu/4.1.2 -Fl/usr/local/lib -dx86_64 interfaces.pp
Free Pascal Compiler version 2.0.4 [2006/08/20] for x86_64
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling interfaces.pp
Assembling interfaces
47 Lines compiled, 1.6 sec
make[2]: Leaving directory `/usr/lib/lazarus/lcl/interfaces/gtk'
make[1]: Leaving directory `/usr/lib/lazarus/lcl/interfaces'


Code: [Select]
[root@virgin:~/Desktop/paldoinstaller_32]# ppcx64 -S2cgi -OG1 -gl -WG -vewnhi -l -Fu/usr/lib/lazarus/lcl/units/x86_64-linux/ -Fu/usr/lib/lazarus/lcl/units/x86_64-linux/gtk/ -Fu/usr/lib/lazarus/packager/units/x86_64-linux/ -Fu. -opaldoinstaller -dLCL -dLCLgtk paldoinstaller.lpr
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.0.4 [2006/08/20] for x86_64
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling paldoinstaller.lpr
Compiling unit1.pas
unit1.pas(86,28) Hint: Parameter "Sender" not used
unit1.pas(87,28) Hint: Parameter "Sender" not used
unit1.pas(88,27) Hint: Parameter "Sender" not used
unit1.pas(89,26) Hint: Parameter "Sender" not used
unit1.pas(90,27) Hint: Parameter "Sender" not used
Assembling unit1
Assembling paldoinstaller
Linking paldoinstaller
775 Lines compiled, 6.7 sec


But:

Code: [Select]
[root@virgin:~/Desktop/paldoinstaller_32]# ./paldoinstaller
-bash: ./paldoinstaller: No such file or directory
[root@virgin:~/Desktop/paldoinstaller_32]# ls -l ./paldoinstaller
-rwxr-xr-x 1 root root 8788475  2. Apr 16:12 ./paldoinstaller
[root@virgin:~/Desktop/paldoinstaller_32]# ldd ./paldoinstaller
/usr/bin/ldd: line 116: ./paldoinstaller: No such file or directory
[root@virgin:~/Desktop/paldoinstaller_32]# file ./paldoinstaller
./paldoinstaller: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped


What can it be?

Amnon82

  • New Member
  • *
  • Posts: 37
How to compile a Lazarus Project for x86_64?
« Reply #7 on: April 03, 2007, 10:39:57 am »
Code: [Select]
ln -svf lib /lib64 fixed it. In Paldo GNU/Linux we don't had lib64. Sorry for the trouble.

 

TinyPortal © 2005-2018