[Lazarus] Is LCL-GTK still possible?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
Hi,

I was just curious, so created a new application and dropped a few
standard widgets on the main form. Set the LCL target to GTK1 and tried
to compile the project. It failed with the "Cannot find LCLIntf used by
GtkDef...."

See attached screenshot. Am I correct, that the LCL widgetset should
auto compile, even though my Lazarus IDE is compiled with LCL-GTK2?

I'm using FPC 3.0.4 (64-bit) under Ubuntu Linux using Lazarus 2.1.0
(dated 2019-02-09).


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus

screenshot_20190326T093939.png (36K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
> Am I correct, that the LCL widgetset should auto compile, even though my
Lazarus IDE is compiled with LCL-GTK2?

Yes, it should. I build my apps for both GTK2 and QT(4) using build modes in
one go. My IDE stays at QT. Maybe activate clean before build?



--
Sent from: http://free-pascal-lazarus.989080.n3.nabble.com/
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
On 26/03/2019 09:50, leledumbo via lazarus wrote:
>  Maybe activate clean before build?

Where do I do this? Like I said, I created a brand new test project,
designed the main form, set the LCL WidgetType to GTK. Saved the project
and then tried to do a "compile". So the project doesn't contain any
existing ppu files. With my current Lazarus compiled in February, I
always do a 'make clean; make bigide' and it defaulted to compiling the
Lazarus IDE with GKT2.

I know in the past (many years ago) you had to manually rebuild LCL (by
building the IDE) for other widget types. But since LCL is now a
"standard package" like any other *.lpk package, I thought it should
build automatically when needed. Is this assumption not correct?


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 03/26/2019 10:50 AM, leledumbo via lazarus wrote:
>> Am I correct, that the LCL widgetset should auto compile, even though my
> Lazarus IDE is compiled with LCL-GTK2?
>
> Yes, it should. I build my apps for both GTK2 and QT(4) using build modes in
> one go. My IDE stays at QT. Maybe activate clean before build?

Seem that Graeme is talking about Gtk1, not Gtk2.

zeljko
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
On 26/03/2019 09:57, zeljko via lazarus wrote:
> Seem that Graeme is talking about Gtk1, not Gtk2.

Correct. I want to see if LCL-GTK1 is still possible using Lazarus 2.1.0
or later.


Regards,
  Graeme

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, Mar 26, 2019 at 10:56 AM Graeme Geldenhuys via lazarus
<[hidden email]> wrote:

> I know in the past (many years ago) you had to manually rebuild LCL (by
> building the IDE) for other widget types. But since LCL is now a
> "standard package" like any other *.lpk package, I thought it should
> build automatically when needed. Is this assumption not correct?

AFAIK: yes.

--
Bart
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 26/03/2019 10:06, Graeme Geldenhuys via lazarus wrote:
> Correct. I want to see if LCL-GTK1 is still possible using Lazarus 2.1.0
> or later.


And just to add, I'm using Ubuntu 18.04 LTS and have the gtk1 libraries
installed. I can compile and run from the command line, all the FPC gtk1
examples (ie:  fpc-3.3.1/src/packages/gtk1/examples/ )

So I know my GTK1 environment and dependencies are fully working.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

vojtech.cihak
In reply to this post by Free Pascal - Lazarus mailing list

Hi

 

I tried to compile an empty project in Laz. 2.1 an it fails on:

gtkwsstdctrls.pp(95,21) Error: There is no method in an ancestor class to be overridden: "class SetReadOnly(const TCustomComboBox;Boolean);"

 

as GTK1 is not actively maintained anymore so it would need some patches for even a simple projects.

V.

______________________________________________________________
> Od: "Graeme Geldenhuys via lazarus" <[hidden email]>
> Komu: "Lazarus mailing list" <[hidden email]>
> Datum: 26.03.2019 10:44
> Předmět: [Lazarus] Is LCL-GTK still possible?
>

Hi,

I was just curious, so created a new application and dropped a few
standard widgets on the main form. Set the LCL target to GTK1 and tried
to compile the project. It failed with the "Cannot find LCLIntf used by
GtkDef...."

See attached screenshot. Am I correct, that the LCL widgetset should
auto compile, even though my Lazarus IDE is compiled with LCL-GTK2?

I'm using FPC 3.0.4 (64-bit) under Ubuntu Linux using Lazarus 2.1.0
(dated 2019-02-09).


Regards,
 Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp


----------

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, 26 Mar 2019 09:43:59 +0000
Graeme Geldenhuys via lazarus <[hidden email]> wrote:

> Hi,
>
> I was just curious, so created a new application and dropped a few
> standard widgets on the main form. Set the LCL target to GTK1 and
> tried to compile the project. It failed with the "Cannot find LCLIntf
> used by GtkDef...."
>
> See attached screenshot. Am I correct, that the LCL widgetset should
> auto compile, even though my Lazarus IDE is compiled with LCL-GTK2?

It shows "incompatible ppu...". Have you compiled clean?
For example Run / Clean up and build?

Mattias
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, 26 Mar 2019 11:09:20 +0100
Bart via lazarus <[hidden email]> wrote:

> On Tue, Mar 26, 2019 at 10:56 AM Graeme Geldenhuys via lazarus
> <[hidden email]> wrote:
>
> > I know in the past (many years ago) you had to manually rebuild LCL
> > (by building the IDE) for other widget types. But since LCL is now a
> > "standard package" like any other *.lpk package, I thought it should
> > build automatically when needed. Is this assumption not correct?  
>
> AFAIK: yes.

Yes, since many years.

But the IDE does not automatically wipe out all output directories.
That would break some packages / setups. It only passes -B.
When files have moved/renamed you might need to clean up before build.
e.g. Run / Clean up and build.

Mattias
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, 26 Mar 2019 10:06:57 +0000
Graeme Geldenhuys via lazarus <[hidden email]> wrote:

> On 26/03/2019 09:57, zeljko via lazarus wrote:
> > Seem that Graeme is talking about Gtk1, not Gtk2.  
>
> Correct. I want to see if LCL-GTK1 is still possible using Lazarus
> 2.1.0 or later.

I fixed the compile errors.

Mattias
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 26/03/2019 13:22, Mattias Gaertner via lazarus wrote:
> It shows "incompatible ppu...". Have you compiled clean?
> For example Run / Clean up and build?

I've never used that before.... Doesn't Lazarus keep compiled units in
separate output directories? I had a quick look in the LCL package and I
see the output directory is set as

  ../units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)

So surely having built Lazarus from source and only ever used LCL-GTK2,
there should not have been any interference with outdated ppu files when
I try and build an application using LCL-GTK1?

Maybe some packages included with Lazarus don't have the correct unit
output directories set?  Hence the "Clean up and build..." option being
required. This is the only conclusion I could think of as to why ppu
files would be out of date on my system. This system has only been set
up from scratch 2 months ago.


Aside from that, the above suggestion and the latest fixes you committed
has resolved the issue. I have managed to successfully compile and run a
LCL-GTK1 application. Thanks. :)

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Is LCL-GTK still possible?

Free Pascal - Lazarus mailing list
On Tue, 26 Mar 2019 13:47:15 +0000
Graeme Geldenhuys via lazarus <[hidden email]> wrote:

> On 26/03/2019 13:22, Mattias Gaertner via lazarus wrote:
> > It shows "incompatible ppu...". Have you compiled clean?
> > For example Run / Clean up and build?  
>
> I've never used that before.... Doesn't Lazarus keep compiled units in
> separate output directories?

Yes - at least for the Lazarus sources.
But when an unit is moved to another package, the old ppu is still in
the old folder.


> I had a quick look in the LCL package
> and I see the output directory is set as
>
>   ../units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)
>
> So surely having built Lazarus from source and only ever used
> LCL-GTK2, there should not have been any interference with outdated
> ppu files when I try and build an application using LCL-GTK1?
>
> Maybe some packages included with Lazarus don't have the correct unit
> output directories set?

I doubt that. You are compiling some central packages.


> Hence the "Clean up and build..." option
> being required. This is the only conclusion I could think of as to
> why ppu files would be out of date on my system. This system has only
> been set up from scratch 2 months ago.

It was just a guess. Maybe your system has another reason, why the
compiler does not like the ppu file. Compile with -vt.

 
> Aside from that, the above suggestion and the latest fixes you
> committed has resolved the issue. I have managed to successfully
> compile and run a LCL-GTK1 application. Thanks. :)

:)

Mattias
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus