Sign in Join

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

Mailing lists / lazarus / 2000-04

Linux howto - compiled but not out of box

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Jarto Tarpio

Here's my report from trying to build on the Linux side. I got it compiled but not without changes.

1. CVS:

cvs -z3 checkout base compiler rtl fcl gtk lazarus packages

Remove gtk as it's not there any more

2. Cycling the compiler:

cp compiler/ppc386.

Add one space after ppc386

3. Building fpc, gtk and lazarus

fcl and gtk compiles only if I remove /opt/fcl/Makefi*

Lazarus compiles only with the help of ppc386.cfg. Otherwise a lot of include files + sysutils are not found. Here's what I needed:

-Fi/opt/fpc/rtl/inc
-Fi/opt/fpc/rtl/i386
-Fi/opt/fpc/rtl/linux
-Fi/opt/fpc/fcl/inc
-Fi/opt/fpc/fcl/linux
-Fu/opt/fpc/rtl/objpas

I guess someone has to have a look at the makefiles so that we won't need those.

But hey, it compiled -> ship it ;-). Did it on the server though, so couldn't check what lazarus looked like :-(

/jarto

Reply by email

Marc Weustink
to Jarto Tarpio

+ From: Jarto Tarpio

+ 3. Building fpc, gtk and lazarus

Hmmm..... there was a time that the Howto mention something about compiling the rtl first. It is gone.

I think this is causing your problems.

PPL, this is a point for the Howto:
* The rtl is only build after the new_ppc script is run. I think it should also compiled for a complete new lazarus build. (You don't HAVE to cycle the compiler after a cvs update).

* The new_ppc script moves the ./rtl/linux units to ./units/linux. The makefiles assume that they are still in the ./rtl/linux dir. I would propose to either copy them or don't use the ./units/linux dir at all

* I can change the makefiles to look in the ./units/linux dir instead of the ./rtl/linux dir if it is present

* Change FAQ Q2 to a script:
-----new_lazarus--------------------------
#!/bin/bash
THEDIR='/opt/fpc'
cd $THEDIR/rtl

  if { make } then
    rm $THEDIR/units/linux/*.o $THEDIR/units/linux/*.ppu
    cp linux/*.o linux/*.ppu $THEDIR/units/linux
  fi
  cd $THEDIR/fcl
  make
  cd $THEDIR/packages/gtk
  make
  cd $THEDIR/lazarus
  make
  ------------------------------------------

* The new_ppc script doesn't copy/move the .o files and doesn't check for a succesful build.
Maybe change the new_ppc script

  -----new_ppc------------------------------
  #!/bin/bash
  THEDIR='/opt/fpc'
  cd $THEDIR
  cp -f ppc386.release ppc386
  cd $THEDIR/compiler
  if { make cycle } then
    rm $THEDIR/units/linux/*.o $THEDIR/units/linux/*.ppu
    cp linux/*.o linux/*.ppu $THEDIR/units/linux
    cd $THEDIR
    mv ppc386 ppc386.release
    cp compiler/ppc386 .
  else
    echo Cycling the compiler failed
    cd $THEDIR
  fi
  ------------------------------------------

* Are these scripts something to put in a makefile in the fpc dir ???

+ fcl and gtk compiles only if I remove /opt/fcl/Makefi* +
+ Lazarus compiles only with the help of ppc386.cfg. Otherwise a lot
+ of include files + sysutils are not found. Here's what I needed: +
+ -Fi/opt/fpc/rtl/inc
+ -Fi/opt/fpc/rtl/i386
+ -Fi/opt/fpc/rtl/linux
+ -Fi/opt/fpc/fcl/inc
+ -Fi/opt/fpc/fcl/linux
+ -Fu/opt/fpc/rtl/objpas
+
+ I guess someone has to have a look at the makefiles so that we
+ won't need those.

It's not the makefiles but the scripts I mentioned.

Thanks for checking

Marc

Reply by email