Sign in Join

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

Mailing lists / lazarus / 2001-12

Lazarus with recent 1.0.5 snapshots + FreeBSD

6 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

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

Mattias Gaertner
to Marco van de Voort: I know managed to compile Lazarus on FreeBSD 4.4 with a recent 1.0.5, it works, and I…
Show quoted text 6 lines
I know managed to compile Lazarus on FreeBSD 4.4 with a recent 1.0.5, it works, and I wanted to summarize what I had to do: (Note that I don't mind to fix these in CVS, but that'll have to wait till tomorrow) General changes for 1.0.5:

Marc and I are currently testing the new fpc rpm. There is only one bug left (Hi Luis). This should solve some of your problems.

- OsDirSeparator added in 2 or 3 modules

OsDirSeparator will be replaced by PathDelim.

- TProcess "change" (from TProcess.Create(string, options) to TProcess.Create(owner:TComponent) ) - TPoint and TRect commenting in FPC's process.pp routine

This will also be changed.

- Three "overrides" added in gtkwinapih.inc lines 83 and 111, ( + one I can't directly remember)

These three procedures are not implemented/tested. I have a bad feeling to activate them via override.

- Make sure I cleaned by hand now and then. The main Lazarus dir, designer/ debugger/ and lcl/units aren't cleaned by the toplevel "make clean"

Since fpc has a good built in update check, it is only seldom neccessary to cleanup the top level program. For the rare cases there is 'make cleanall'.

Mattias

Reply by email

Marco van de Voort
to Peter Vreman: Those are for the gtk package This is for the compiler
Show quoted text 5 lines
> FreeBSD specific things: > - Change {$linklib <x>} directives for <x>=glib,gdk and gtk to glib12, gdk12 > and gtk12 Those are for the gtk package

It was meant as a discussion item, for both Lazarus and the FPC team. Version of libraries starts to be a problem, also for the textmode IDE I had to postedit link.res or sources for a while. (e.g. because the default GPM was 1.18, when only 1.17 worked and was in my homedir)

The problem is that for the ports tree, I need fully automated builds. This means I can't keep postediting the link.res as I do now.

Problem is that not every FreeBSD system may have the same libraries in the same place. Iow, the ports makefile (a separate special makefile which download the zip, and auto builds and installs) must be able to specify how it is called.

So for most systems,

{$ifdef FreeBSD}
 {$linklib gtk12}
{$else}
 {$linklib gtk}
{$endif}

will do, but it would be better if that would be somehow selectable from the commandline.

> - Make sure /usr/local/lib is searched. (which is where all non base libs are) This is for the compiler

This is not really urgent, since if the above thing is fixed, it will work fine.

Reply by email

Marc Weustink
to Marco van de Voort: I know managed to compile Lazarus on FreeBSD 4.4 with a recent 1.0.5, it works, and I…

+ From: Marco van de Voort
+
+ General changes for 1.0.5:
+
+ - OsDirSeparator added in 2 or 3 modules
+ - TProcess "change" (from TProcess.Create(string, options) to
+ TProcess.Create(owner:TComponent) )
+ - TPoint and TRect commenting in FPC's process.pp routine

In a separate testbranch these are solved (OsDirSeparator replaced by PathDelim)
As soon as we have an 'accepted' 1.0.5 those fixes will be committed.

+ - Three "overrides" added in gtkwinapih.inc lines 83 and 111,
+ ( + one I can't directly remember)
+ - Make sure I cleaned by hand now and then. The main Lazarus
+ dir, designer/ debugger/ and lcl/units aren't cleaned by
+ the toplevel "make clean"

hmm..... AFAIK all dirs where files are created by make, they are cleaned. Are you sure there weren't some files left from a manual (non make) build ?

+ General changes for 1.1
+ - A lot of {$ifdef Linux} clauses which will fail on non
+ linux *nix systems
+ But it's best to wait until until 1.0.6 is released for that.

it is already noticed that a lot of the Linux code moved to Unix. We have to change that some time.

+ - rest untested.
+
+ FreeBSD specific things:
+ - Change {$linklib <x>} directives for <x>=glib,gdk and gtk
+ to glib12, gdk12 and gtk12

? where ?

+ - Make sure /usr/local/lib is searched. (which is where all
+ non base libs are)

YM for building Lazarus or using Lazarus ?

+ After that everything seems to work fine directly in X, but
+ remote X was not really workable.

Slow ?

Marc

Reply by email

Marco van de Voort

I know managed to compile Lazarus on FreeBSD 4.4 with a recent 1.0.5, it works, and I wanted to summarize what I had to do: (Note that I don't mind to fix these in CVS, but that'll have to wait till tomorrow)

General changes for 1.0.5:

- OsDirSeparator added in 2 or 3 modules
- TProcess "change" (from TProcess.Create(string, options) to TProcess.Create(owner:TComponent) )
- TPoint and TRect commenting in FPC's process.pp routine
- Three "overrides" added in gtkwinapih.inc lines 83 and 111, ( + one I can't directly remember)
- Make sure I cleaned by hand now and then. The main Lazarus dir, designer/ debugger/ and lcl/units aren't cleaned by the toplevel "make clean"

General changes for 1.1
- A lot of {$ifdef Linux} clauses which will fail on non linux *nix systems But it's best to wait until until 1.0.6 is released for that.
- rest untested.

FreeBSD specific things:
- Change {$linklib <x>} directives for <x>=glib,gdk and gtk to glib12, gdk12 and gtk12
- Make sure /usr/local/lib is searched. (which is where all non base libs are)

After that everything seems to work fine directly in X, but remote X was not really workable.

Reply by email

Peter Vreman
FreeBSD specific things: - Change {$linklib <x>} directives for <x>=glib,gdk and gtk to glib12, gdk12 and gtk12

Those are for the gtk package

- Make sure /usr/local/lib is searched. (which is where all non base libs are)

This is for the compiler

Reply by email

Marco van de Voort
to Marc Weustink: + From: Marco van de Voort + + General changes for 1.0.5: + + - OsDirSeparator added in 2…
Show quoted text 8 lines
+ - Three "overrides" added in gtkwinapih.inc lines 83 and 111, + ( + one I can't directly remember) + - Make sure I cleaned by hand now and then. The main Lazarus + dir, designer/ debugger/ and lcl/units aren't cleaned by + the toplevel "make clean" hmm..... AFAIK all dirs where files are created by make, they are cleaned. Are you sure there weren't some files left from a manual (non make) build ?

Yes. And cleanall still doesn't clean lcl/units

Show quoted text 7 lines
+ General changes for 1.1 + - A lot of {$ifdef Linux} clauses which will fail on non + linux *nix systems + But it's best to wait until until 1.0.6 is released for that. it is already noticed that a lot of the Linux code moved to Unix. We have to change that some time.
Depends on if you have a global include file;

if you have a global includefile, just put

{$ifdef linux}
 {$define Unix}
{$endif}

in the global includefile, and change all other ifdefs to {$ifdef Unix}

Show quoted text 6 lines
+ + FreeBSD specific things: + - Change {$linklib <x>} directives for <x>=glib,gdk and gtk + to glib12, gdk12 and gtk12 ? where ?

Good point. Anyway, Peter is right, this is a FPC thing, more than a Lazarus thing. Will move it to core.

Some system with aliases (e.g.
-F<someletter>gtk=gtk12,glib=glib12,gdk=gdk12' would be a solution, another would be

Another less intrusive (but less powerfull) would be to have yet another -Fl'ish commando that prepends to the searched dir list instead of appends.

+ - Make sure /usr/local/lib is searched. (which is where all + non base libs are) YM for building Lazarus or using Lazarus ?

It should be taken care off in the compiler

+ After that everything seems to work fine directly in X, but + remote X was not really workable. Slow ?

Slow, and dragging and dropping barely worked.

Reply by email