Sign in Join

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

Mailing lists / fpc-pascal / 2000-09

Build from CVS

7 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

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

Jo

Hello to all,

I recently downloaded fpc from the CVS (yes 30 Mo !) and now I don't succeed in compiling all the stuff: I don't really know what to do !!

Can you make a notice on how to build it, including ALL the needed steps, for all the wanted targets (go32v2, win32, linux,...) in a clean way, i.e. at the end it looks like a new unpacked release of the compiler. This could be:
<<
1. Be sure to already have a working Free Pascal compiler in your path.
2. Copy the fpc directory you got from the CVS in another location, where you will build the new compiler.
3. Remove all the 'Cvs' directories from inside the working directory.
4. Now choose your_target:
go32v2zip for a zipped go32v2 release,
win32zip for a zipped win32 release,
xxxxx for xxxxx........
5. 'cd' to your working directory and type 'make your_target'.
6. Wait and pray.
7. Look into xxx directory for what you wanted.
8. ....etc....

>

You should include this at the root of the CVS fpc directory, for example.

Thanx for support,
IoDream

______________________________________________________________________________ Vous avez un site perso ?
2 millions de francs à gagner sur i(france) !
Webmasters : ZE CONCOURS ! http://www.ifrance.com/_reloc/concours.emailif

Marco van de Voort
to Jo
Show quoted text 7 lines
I recently downloaded fpc from the CVS (yes 30 Mo !) and now I don't succeed in compiling all the stuff: I don't really know what to do !! Can you make a notice on how to build it, including ALL the needed steps, for all the wanted targets (go32v2, win32, linux,...) in a clean way, i.e. at the end it looks like a new unpacked release of the compiler. This could be:

Did you check www.freepascal.org/makecyc.html ?

IIRC that is updated for the 1.0 compiler

Just try it, and if you have any questions, or find inconsistancies, please report them here, and I'll update that file (and respond to questions)

IoDream
to Marco van de Voort

----- Original Message -----

Earlier message 92 lines
From: Marco van de Voort To: Sent: Monday, September 11, 2000 8:48 AM Subject: Re: [fpc-pascal]Build from CVS > > Did you check www.freepascal.org/makecyc.html ? > > IIRC that is updated for the 1.0 compiler > > Just try it, and if you have any questions, or find inconsistancies, please > report them here, and I'll update that file (and respond to questions) > OK, I've tryed to compile FPC 1.1 (CVS) with the help of the 'Make cycle FAQ', and there are some points I want to clarify. First of all, you can use OS_TARGET=TargetOS (win32 for example), but you MUST type the target name in lowercase. In the same way, DON'T add OPT="options" in your make cycle' command. Even with all that fixed, I couldn't compile the linux linux I got an assembler error in assembling rtl/linux/prt0.as. Second, you must remove all the 'cvs' directories before compilation, if you got the sources from the CVS. I don't know if it's really necessary, but it's safer. Anyway you shouldn't directly compile from the original CVS sources, but work on a copy. You can copy it in $FPCDIR/source/. Third, when compiling with '-OG2p2' I got the following error: 'og386elf.pas(287,9) Error: Asm: Short jump is out of range -231'. The problem doesn't occur with '-OG2p3' (I've got a Celeron 300A). But I think this parameter is redundant, because I think it's generated by the makefile. Am I right ? Fourth, I got this error (see below): <<< E:\fpc\compiler>make cycle d:/pp/bin/go32v2/make.exe clean make.exe[1]: Entering directory `e:/fpc/compiler' rm -f ppc386.exe rm -f fpcmade.dos ppas.bat link.res log rm -f *.o *.ppu *.rst *.s *.a *.so *.ppl rm -rf *.sl rm -f fpcmade.dos ppas.bat link.res log make.exe[1]: Leaving directory `e:/fpc/compiler' d:/pp/bin/go32v2/make.exe -C clean make.exe: *** clean: No such file or directory (ENOENT). Stop. make.exe: *** [cycle] Error 2 >>> This error can be removed by unsetting the FPCDIR envvar. Fifth, doing a make cycle, there is a strange line (see below) <<<.... D:/PP/BIN/GO32V2//diff.exe ppc3.exe ppc386.exe make.exe[1]: Leaving directory `e:/fpc/compiler' d:/pp/bin/go32v2/make.exe echotime make.exe[1]: Entering directory `e:/fpc/compiler' Start unknown now unknown << This line ?? make.exe[1]: Leaving directory `e:/fpc/compiler' >>> But it seems that I get a new working PPC386.EXE with all the new RTL anyway. It is the goal, isn't it ? Sixth, you say that all makefiles are valid, ans I trust you, but can't you explain more how to do a snapshot or a release zip with it. For example, doing an 'make go32v2zip' in the root directory of the sources, I got this: <<<.... rm -f e:/fpc/upackagesexm.zip cd e:/fpc/packages/pack_tmp ; -Dr -9 e:/fpc/upackagesexm.zip * ; cd e:/fpc/pack ages Commande ou nom de fichier incorrect rm -rf e:/fpc/packages/pack_tmp make.exe[4]: Leaving directory `e:/fpc/packages' make.exe[3]: Leaving directory `e:/fpc/packages' make.exe[2]: Leaving directory `e:/fpc' make.exe[1]: Leaving directory `e:/fpc' >>> I hope you will find what goes wrong (so many questions in one mail...). Best Regards, IoDream. ______________________________________________________________________________ Vous avez un site perso ? 2 millions de francs à gagner sur i(france) ! Webmasters : ZE CONCOURS ! http://www.ifrance.com/_reloc/concours.emailif
Unknown author
Show quoted text 10 lines
> Did you check www.freepascal.org/makecyc.html ? > > IIRC that is updated for the 1.0 compiler > > Just try it, and if you have any questions, or find inconsistancies, please > report them here, and I'll update that file (and respond to questions) > OK, I've tryed to compile FPC 1.1 (CVS) with the help of the

'M> ake

cycle FAQ', and there are some points I want to clarify.

here are some quick answers

First of all, you can use OS_TARGET=TargetOS (win32 for example),

bu> t you

MUST type the target name in lowercase. In the same way, DON'T add OPT="options" in your make cycle' command. Even with all that fixed, I couldn't compile the linux linux I got an assembler error in assembling rtl/linux/prt0.as.

make is case sensitive, you can't compile the .as files cross platform when you don't have a cross assembler.

Show quoted text 12 lines
Second, you must remove all the 'cvs' directories before compilation, if you got the sources from the CVS. I don't know if it's really necessary, but it's safer. Anyway you shouldn't directly compile from the original CVS sources, but work on a copy. You can copy it in $FPCDIR/source/. Third, when compiling with '-OG2p2' I got the following error: 'og386elf.pas(287,9) Error: Asm: Short jump is out of range -231'. The problem doesn't occur with '-OG2p3' (I've got a Celeron 300A). But I think this parameter is redundant, because I think it's generated by the makefile. Am I right ?

if you add RELEASE=1 to the make command it'll set the optimizer switches itself.

Show quoted text 16 lines
Fourth, I got this error (see below): <<< E:\fpc\compiler>make cycle d:/pp/bin/go32v2/make.exe clean make.exe[1]: Entering directory `e:/fpc/compiler' rm -f ppc386.exe rm -f fpcmade.dos ppas.bat link.res log rm -f *.o *.ppu *.rst *.s *.a *.so *.ppl rm -rf *.sl rm -f fpcmade.dos ppas.bat link.res log make.exe[1]: Leaving directory `e:/fpc/compiler' d:/pp/bin/go32v2/make.exe -C clean make.exe: *** clean: No such file or directory (ENOENT). Stop. make.exe: *** [cycle] Error 2 >>> This error can be removed by unsetting the FPCDIR envvar.

That's correct you can't use FPCDIR if you've installed multiple FPC copies (i.e. stable 1.0 and unstable 1.1).

Show quoted text 11 lines
Fifth, doing a make cycle, there is a strange line (see below) <<<.... D:/PP/BIN/GO32V2//diff.exe ppc3.exe ppc386.exe make.exe[1]: Leaving directory `e:/fpc/compiler' d:/pp/bin/go32v2/make.exe echotime make.exe[1]: Entering directory `e:/fpc/compiler' Start unknown now unknown << This line ?? make.exe[1]: Leaving directory `e:/fpc/compiler' >>> But it seems that I get a new working PPC386.EXE with all the new RTL anyway. It is the goal, isn't it ?

It misses gdate.exe or date.exe, it's only used for calculating the time needed to do the make cycle and doesn't hurt the compilitation itself.

Sixth, you say that all makefiles are valid, ans I trust you, but

can'> t

you explain more how to do a snapshot or a release zip with it. For

examp> le,

doing an 'make go32v2zip' in the root directory of the sources, I got

thi> s:

Show quoted text 12 lines
<<<.... rm -f e:/fpc/upackagesexm.zip cd e:/fpc/packages/pack_tmp ; -Dr -9 e:/fpc/upackagesexm.zip * ; cd e:/fpc/pack ages Commande ou nom de fichier incorrect rm -rf e:/fpc/packages/pack_tmp make.exe[4]: Leaving directory `e:/fpc/packages' make.exe[3]: Leaving directory `e:/fpc/packages' make.exe[2]: Leaving directory `e:/fpc' make.exe[1]: Leaving directory `e:/fpc' >>>

You'll need zip.exe (from info-zip) for it

IoDream
to Unknown author

Ok, but where can I find a cross assembler, for compiling linux targets inside dos/windows ?

Earlier message 25 lines
----- Original Message ----- From: To: Sent: Friday, September 15, 2000 8:48 AM Subject: Re: [fpc-pascal]Build from CVS > > > > First of all, you can use OS_TARGET=TargetOS (win32 for example), > bu> t you > > MUST type the target name in lowercase. In the same way, DON'T add > > OPT="options" in your make cycle' command. Even with all that fixed, I > > couldn't compile the linux linux I got an assembler error in assembling > > rtl/linux/prt0.as. > make is case sensitive, you can't compile the .as files cross platform when you > don't have a cross assembler. > ______________________________________________________________________________ Vous avez un site perso ? 2 millions de francs à gagner sur i(france) ! Webmasters : ZE CONCOURS ! http://www.ifrance.com/_reloc/concours.emailif
Sebastian Günther
to IoDream
IoDream wrote
Ok, but where can I find a cross assembler, for compiling linux targets inside dos/windows ?

Download the binutils source package from www.gnu.org and build it with --target=i686-pc-linux-gnu. Then use the file gas\as-new as the cross asssembler.

- Sebastian

Sebastian Günther
to Sebastian Günther
Sebastian Günther wrote
Download the binutils source package from www.gnu.org and build it with --target=i686-pc-linux-gnu.

to be more precise: use this option with the 'configure' script, and if you don't have a i686 class CPU (Pentium II/III, Athlon...), you should use i586 or whatever, of course...

- Sebastian