Sign in Join

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

Mailing lists / lazarus / 1999-05

lazarus howto 0.1 (comments, please)

4 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

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

Sergio A. Kessler

Cliff, how about this:

Lazarus-developer-HowTo-0.1

Linux instructions:

Well, this is how I configured my system, this approach is intended for developers and those that want to stay up to date with the code in CVS.

You will need the cvs program installed, type "cvs --help" to see if it's installed, if not try to install it from a .rpm, .deb or .pkg (up to you :)

Also, if you have the mc (Midnigth commander), a clone of the Norton Commander, it will make very easy the tasks of copying and moving files, type "mc" and see if you have it installed (it come with most distros).

One time actions (First day only):
----------------

Make a directory called /opt (if you don't have it, of course) The /opt is always used by self contained apps that doesn't come in packages, so it's easy to administer it in a isolated directory.

Enter to the /opt directory and create one inside called "fpc", enter to the fpc directory.

Connect to the internet (up to you :) (if you are using RedHat, try LinuxConf or Gnome-PPP).

Now (inside /opt/fpc ) you have to type the following on the command line:

cvs -d login

You will be prompted for a password:

(Logging in to )
CVS password:

The password is 'cvs' (don't type the quotes).
This step needs to be performed only once.
Your CVS client will remember the password.

Now you need to checkout (download) the modules:

cvs checkout <module1> <module2>

(How I do to list availables modules ??)

example:

cvs checkout base compiler rtl fcl docs gtk lazarus

This will download the current cvs source code (the bleeding edge) to your computer and create a directory structure. ok, this will be a big download, BUT you have to do this only _one_ time, the first time.
if you are not interested in docs, for example, do not checkout it (docs is large :)

you will end up with this tree:

/opt
/fpc
/CVS (internal cvs use, do not touch)
/base
/compiler
/rtl
/gtk
/lazarus
...

Now make a directory /opt/fpc/units/linux in where we'll put the compiled units.

But the first time we need a binary compiler, because we have all the source but we don't have a compiler, so download a snapshot for linux from:
ftp://tflily.fys.kuleuven.ac.be/pub/fpc/snapshot/snapshot.tar.gz and put the binarys in /opt/fpc and the units in /opt/fpc/units/linux

Now edit your ~/.bash_profile to include /opt/fpc in your path and declare environment variable FPCDIR=/opt/fpc and export it.
Logout and login again so this take effect.

Repeated actions (every day or so):
----------------

1) Copy the content of /opt/fpc/base to /opt/fpc, but *don't* delete the base directory.

2) Is a good idea to recompile the compiler every time you update your sources (and copy the binary to /opt/fpc) For this do a "make" in /opt/fpc/compiler and copy the new binary in /opt/fpc

3) Also, it's good to recompile the rtl and copy the .o and .ppu files to /opt/fpc/units/linux every time you update your sources.

4) The next time you want to update your source code from the fpc repository, just sit inside the /opt/fpc
directory and do:

cvs -z 9 update <module1> <module2> ... <moduleN>

this will download _only_ what is changed in the central repository and your sources get updated (the -z 9 means maximum compression for saving bandwidht).

5) Go to 1)

Reasons for use CVS:

- MUCH more bandwidth friendly than download .zip or.gz every day.
- Easy, very, very easy to use once you checkout the modules.
- You will stay in the bleeding edge state of the source

What I do is update the cvs in the work (we have a dedicated line to the Internet), but because I can't investigate further in the work, I gzipped all the tree and take it to my house. (this is why sometimes I send mails at 2:00 or 3:00 AM :) For compress the whole tree, I do:

tar -c /opt/fpc | gzip > fpc.tar.gz

Cliff, Shane, Michael, Peter, etc, Comments, corrections ?

Sergio

Reply by email

Michael Anthon

I tried this and it failed on the step shown below. Perhaps it could be changed to include the CVS root in the command line (as I did, it IS pretty obvious really) and maybe how/where to set the CVSROOT environment variable.

Cheers
Michael Anthon

PS Thanks for this too, I might actaully be able to get it to compile, will report my success or failure when the CVS checkout is done....

Now you need to checkout (download) the modules: cvs checkout <module1> <module2>

bash> cvs -d login
(Logging in to )
CVS password:
bash> cvs checkout base compiler rtl fcl gtk lazarus cvs checkout: No CVSROOT specified! Please use the `-d' option cvs [checkout aborted]: or set the CVSROOT environment variable. bash> cvs -d checkout
base compiler rtl fcl gtk lazarus

Reply by email

Unknown author
to Sergio A. Kessler: Cliff, how about this: Lazarus-developer-HowTo-0.1 Linux instructions: Well, this is how…
Sergio A. Kessler wrote 54 lines
Cliff, how about this: Lazarus-developer-HowTo-0.1 Linux instructions: Well, this is how I configured my system, this approach is intended for developers and those that want to stay up to date with the code in CVS. You will need the cvs program installed, type "cvs --help" to see if it's installed, if not try to install it from a .rpm, .deb or .pkg (up to you :) Also, if you have the mc (Midnigth commander), a clone of the Norton Commander, it will make very easy the tasks of copying and moving files, type "mc" and see if you have it installed (it come with most distros). One time actions (First day only): ---------------- Make a directory called /opt (if you don't have it, of course) The /opt is always used by self contained apps that doesn't come in packages, so it's easy to administer it in a isolated directory. Enter to the /opt directory and create one inside called "fpc", enter to the fpc directory. Connect to the internet (up to you :) (if you are using RedHat, try LinuxConf or Gnome-PPP). Now (inside /opt/fpc ) you have to type the following on the command line: cvs -d login You will be prompted for a password: (Logging in to ) CVS password: The password is 'cvs' (don't type the quotes). This step needs to be performed only once. Your CVS client will remember the password. Now you need to checkout (download) the modules: cvs checkout <module1> <module2> (How I do to list availables modules ??)

You can't.

example: cvs checkout base compiler rtl fcl docs gtk lazarus

This supposes that you have a CVSROOT environment variable set: for Csh:

setenv CVSROOT

for bash:

export CVSROOT

If you don't want to set this, you must ALWAYS provide the option

-d

To cvs. (noted already by someone)

Show quoted text 32 lines
This will download the current cvs source code (the bleeding edge) to your computer and create a directory structure. ok, this will be a big download, BUT you have to do this only _one_ time, the first time. if you are not interested in docs, for example, do not checkout it (docs is large :) you will end up with this tree: /opt /fpc /CVS (internal cvs use, do not touch) /base /compiler /rtl /gtk /lazarus ... Now make a directory /opt/fpc/units/linux in where we'll put the compiled units. But the first time we need a binary compiler, because we have all the source but we don't have a compiler, so download a snapshot for linux from: ftp://tflily.fys.kuleuven.ac.be/pub/fpc/snapshot/snapshot.tar.gz and put the binarys in /opt/fpc and the units in /opt/fpc/units/linux Now edit your ~/.bash_profile to include /opt/fpc in your path and declare environment variable FPCDIR=/opt/fpc and export it.

Csh users: edit ~/.login and add

setenv FPCDIR /opt/fpc

to it.

Show quoted text 23 lines
Logout and login again so this take effect. Repeated actions (every day or so): ---------------- 1) Copy the content of /opt/fpc/base to /opt/fpc, but *don't* delete the base directory. 2) Is a good idea to recompile the compiler every time you update your sources (and copy the binary to /opt/fpc) For this do a "make" in /opt/fpc/compiler and copy the new binary in /opt/fpc 3) Also, it's good to recompile the rtl and copy the .o and .ppu files to /opt/fpc/units/linux every time you update your sources. 4) The next time you want to update your source code from the fpc repository, just sit inside the /opt/fpc directory and do: cvs -z 9 update <module1> <module2> ... <moduleN>

1) You may need to add the -d option, as I said above.
2) ALWAYS add -dP after the 'update' keyword. if you forget this, new directories in the repository will never be created ! so
cvs -z9 update -dP lazarus fcl ...

Show quoted text 15 lines
this will download _only_ what is changed in the central repository and your sources get updated (the -z 9 means maximum compression for saving bandwidht). 5) Go to 1) Reasons for use CVS: - MUCH more bandwidth friendly than download .zip or.gz every day. - Easy, very, very easy to use once you checkout the modules. - You will stay in the bleeding edge state of the source

This is not always good:
1) Sometimes the sources are in an uncompilable state.
2) consider the following:

person A changes FileA so it needs a new file, FileB

Person A Person B

0:00 check in fileA
0:01 cvs update
0:02 cvs add BileB
0:02 check in fileB

-> person B has the new file A which needs File B. but he doesn't have file fileB -> no compile.

Seems far-fetched, but it HAS happened in the past.

Show quoted text 7 lines
What I do is update the cvs in the work (we have a dedicated line to the Internet), but because I can't investigate further in the work, I gzipped all the tree and take it to my house. (this is why sometimes I send mails at 2:00 or 3:00 AM :) For compress the whole tree, I do: tar -c /opt/fpc | gzip > fpc.tar.gz

or

tar -cvf fpc.tar.gz /opt/fpc

Michael.

Reply by email

Marco van de Voort
to Sergio A. Kessler: Cliff, how about this: Lazarus-developer-HowTo-0.1 Linux instructions: Well, this is how…
2) Is a good idea to recompile the compiler every time you update your sources (and copy the binary to /opt/fpc) For this do a "make" in /opt/fpc/compiler and copy the new binary in /opt/fpc

Add here that the compiler-make process should start with the latest RELEASE compiler. (right now 0.99.10). This saves a lot of trouble. Also a "make cycle" is better.

Marco van de Voort ()
<http://www.stack.nl/~marcov/xtdlib.htm>

Reply by email