Recent

Author Topic: Lazarus Release 2.0.0  (Read 126742 times)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.0.0
« Reply #75 on: February 11, 2019, 03:18:50 pm »
I just installed 2.0.0 Mac and can not run a default program to display a form. Nothing displays, and I can not stop the program, so am forced to to do a hard quit. I installed it in a clean directory.
No idea, not using Mac myself.

But, what happens if you
- start the program: run without debug
- compile it, start it outside the IDE
?

VTwin

  • Hero Member
  • *****
  • Posts: 1215
  • Former Turbo Pascal 3 user
Re: Lazarus Release 2.0.0
« Reply #76 on: February 11, 2019, 04:19:48 pm »
No idea, not using Mac myself.

But, what happens if you
- start the program: run without debug
- compile it, start it outside the IDE
?

Thanks Martin. It did work without debugging. When I checked to make sure I was using the new debugger, I realized the path defaults to gdb, even though lldb is selected. I changed the path to point to lldb (/usr/bin/lldb) and everything seems fine now.

The path to lldb is not available in the combobox either. Since Mac hides system directories, it is difficult to navigate to it, as you can not pick it from the normal open file dialog. I installed a command to toggle on and off hidden directories, but this would not likely be obvious to a new user. It is still much easier than dealing with codesigning gdb though!  :)
“Talk is cheap. Show me the code.” -Linus Torvalds

Free Pascal Compiler 3.2.2
macOS 12.1: Lazarus 2.2.6 (64 bit Cocoa M1)
Ubuntu 18.04.3: Lazarus 2.2.6 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.2.6 (64 bit on VBox)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.0.0
« Reply #77 on: February 11, 2019, 04:47:51 pm »
The path to lldb is not available in the combobox either. Since Mac hides system directories, it is difficult to navigate to it, as you can not pick it from the normal open file dialog. I installed a command to toggle on and off hidden directories, but this would not likely be obvious to a new user. It is still much easier than dealing with codesigning gdb though!  :)

There are several issues

1) the path. I added a commit to trunk, that will hopefully add it. (will merge)
But that will not automatically select it.

2) The setup dialog "lazarus --setup" does not know at all about lldb.
There is no imminent work planed on this, that I know of....

3) A new install, without old config.
That should work...
But then it should have worked with your config from the RC, unless the RC had a diff config folder.

Upgrading with existing config from 1.8.4 => that does not update the debugger conf.


Could you test:
If you  (in your primary config), rename the environmentoptions.xml
Then start the IDE. It should create a new environmentoptions.xml, and the debugger should be correct.

Also verify, in your install directory, is a environmentoptions.xml which is the template for a new config. That should have the lldb debugger in it.

BeanzMaster

  • Sr. Member
  • ****
  • Posts: 268
Re: Lazarus Release 2.0.0
« Reply #78 on: February 12, 2019, 09:58:02 am »

There must be some specific problem in your system. I have no problem with Zeos installation in Windows 8 and 10, and Linux (mint xfce, 18.3, 19.1).

How did you install Zeos?


I have just installed a fresh lazarus 2.0 as secondary (i want to keep and old version for other purpose) so none package or other already installed.
For Zeos is available in "official" list in menu->Package-Install/Remove packages so i've just added it to the list ( see screenshot)

Put sqlite3.dll of propper bitness into directory of your Lazarus executable.
I say that but no project open. Like i said before it's fresh installation. So when i rebuild IDE i have en error message like "SQLite.DLL not found"

See also screenshot i've surrounded the packages

This two errors are not  realy a problem for zeos  i'try thrue OPM and for SQLite i'll just try to put DLL in my system's folders

Thanks

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Lazarus Release 2.0.0
« Reply #79 on: February 12, 2019, 10:16:49 am »
Put sqlite3.dll of propper bitness into directory of your Lazarus executable.
I say that but no project open. Like i said before it's fresh installation. So when i rebuild IDE i have en error message like "SQLite.DLL not found"
So, you think that without sqlite3.dll IDE will somehow magically know how to access SQLite? Good for you...  %)
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

dbannon

  • Hero Member
  • *****
  • Posts: 2778
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release 2.0.0
« Reply #80 on: February 12, 2019, 11:18:48 am »
The nature of the "Terminal Output" - (View->DebugWindows->TerminalOutput) in 1.8.4 and (View->DebugWindows->ConsoleInOutput) in 2.0.1 has changed. I note two issues on Linux -

1. Crash if you close the Console window before closing an app.

2. In my medium sized app, I debugln() no longer writes to the Console.

Specifically, if I make a new project, it can use debugln() to write to the console but my medium sized project that has been brought forward from 1.8.4 and then various versions of Fixes_2 and now V2.0.0 cannot. I am pretty sure there was no problem in older Fixes_2 - I'd have noticed.

I have read the 2.0.0 release notes, it talks about LCL no longer writing out over Lazlogger, but I have Lazlogger listed in my units uses clause.

Item 1 - crashes if you close the console winder before the app ?  Simple form with a button, in the event for that button  put debugln('hello'); and add Lazlogger to users line.

Now, run the app in Lazarus, open the Console (View->DebugWindows->ConsoleInOutput), press the button in your app, note it does say Hello (unlike my older app) and then close the console window. Bang.

I really liked the old Terminal window approach, any way I can get it back ?

Davo
Lazarus 2, Linux (and reluctantly Win10, OSX)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

OdyssseusL

  • Newbie
  • Posts: 2
Re: Lazarus Release 2.0.0
« Reply #81 on: February 12, 2019, 12:59:22 pm »
I see, that the macOS version 2.0.0 is build with "carbon". Does there exist a version with "Cocoa"?

Thanks in advance.

Thaddy

  • Hero Member
  • *****
  • Posts: 14163
  • Probably until I exterminate Putin.
Re: Lazarus Release 2.0.0
« Reply #82 on: February 12, 2019, 01:20:14 pm »
You can build it yourself by selecting the widgetset when compiling Lazarus,
As it stands I am just as flabbergasted as you that the distribution is build with carbon.
That's silly. It can't possibly last longer than this version because 32 bit got dropped.
It should have been addressed already.
« Last Edit: February 12, 2019, 01:21:55 pm by Thaddy »
Specialize a type, not a var.

BeanzMaster

  • Sr. Member
  • ****
  • Posts: 268
Re: Lazarus Release 2.0.0
« Reply #83 on: February 12, 2019, 03:11:58 pm »
Put sqlite3.dll of propper bitness into directory of your Lazarus executable.
I say that but no project open. Like i said before it's fresh installation. So when i rebuild IDE i have en error message like "SQLite.DLL not found"[/quote]
So, you think that without sqlite3.dll IDE will somehow magically know how to access SQLite? Good for you...  %)
[/quote]

Sorry for my english,
In this case the best it's to copy the DLL in the system folder and not in the Lazarus folder. Because with a project we should copy also the DLL in the application folder.

In this case it's how the components in those 2 packages are coded. I don't take a look in the code but Normally we should not need to load the DLL when installing these components in the IDE because we do not connect to any database.

To do it well it would be necessary that the DLL is loaded dynamically during the execution of our project or when we let's enable a connection with a BDD at designtime.

When installing a package of components of this type we can not rebuild Lazarus. Making two copies of a DLL file is stupid, in which case it is better to copy this DLL to the system folder of the OS and not to the Lazarus folder and then to copy it a second time to the application's folder.

In some of my projects i'm using OpenAL/Freetype and others. I have some components installed in the IDE and i don't need to have the DLL in the Lazarus's folder or in the system's folder. I just put DLL in my application's folder and DLL is load at dynamically at runtime and that it.

I think this minimum information should be to register in the description of the package.
This kind of error does not bother me more than that but for someone who starts it can become frustrating.

In all case it's not a problem for me

garlar27

  • Hero Member
  • *****
  • Posts: 652
Re: Lazarus Release 2.0.0
« Reply #84 on: February 12, 2019, 03:36:38 pm »
BeanzMaster,
In this case it's how the components in those 2 packages are coded. I don't take a look in the code but Normally we should not need to load the DLL when installing these components in the IDE because we do not connect to any database.

To do it well it would be necessary that the DLL is loaded dynamically during the execution of our project or when we let's enable a connection with a BDD at designtime.

When installing a package of components of this type we can not rebuild Lazarus. Making two copies of a DLL file is stupid, in which case it is better to copy this DLL to the system folder of the OS and not to the Lazarus folder and then to copy it a second time to the application's folder.

In some of my projects i'm using OpenAL/Freetype and others. I have some components installed in the IDE and i don't need to have the DLL in the Lazarus's folder or in the system's folder. I just put DLL in my application's folder and DLL is load at dynamically at runtime and that it.

The IDE needs the DLL because you can open a see the DB data at design time.

On windows the library "bitness" is a pain in the butt (the system folders don't seem to have the right name) I suppose that's why they tell you "copy the dll here and there" so if you know the right place for the sqlite3.dll then put it there.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.0.0
« Reply #85 on: February 12, 2019, 06:14:49 pm »
The nature of the "Terminal Output" - (View->DebugWindows->TerminalOutput) in 1.8.4 and (View->DebugWindows->ConsoleInOutput) in 2.0.1 has changed. I note two issues on Linux -

1. Crash if you close the Console window before closing an app.

I really liked the old Terminal window approach, any way I can get it back ?
Please report on mantis.

Make a separate mantis feature request, for which changes in the debug output you would like an option.

Quote
2. In my medium sized app, I debugln() no longer writes to the Console.

Specifically, if I make a new project, it can use debugln() to write to the console but my medium sized project that has been brought forward from 1.8.4 and then various versions of Fixes_2 and now V2.0.0 cannot. I am pretty sure there was no problem in older Fixes_2 - I'd have noticed.

I have read the 2.0.0 release notes, it talks about LCL no longer writing out over Lazlogger, but I have Lazlogger listed in my units uses clause.

Strange if you have LazLogger in the uses, then it is supposed to work.

Do you use threads? Make sure the main thread gets the first debugln. That problem always existed, and afaik is the same for writeln.
Btw: does writeln work?

Have you tried running your app from a console (cmd.exe on windows, bash or terminal on linux)

Can you debug how the code steps into debugln? It must abort at some condition.

segfault

  • Full Member
  • ***
  • Posts: 107
Re: Lazarus Release 2.0.0
« Reply #86 on: February 12, 2019, 06:17:59 pm »
I haven't installed it yet, just wondering whether pas2js is now integrated with it? And if so does it work?  :D

VTwin

  • Hero Member
  • *****
  • Posts: 1215
  • Former Turbo Pascal 3 user
Re: Lazarus Release 2.0.0
« Reply #87 on: February 12, 2019, 06:38:31 pm »

There are several issues

1) the path. I added a commit to trunk, that will hopefully add it. (will merge)
But that will not automatically select it.

2) The setup dialog "lazarus --setup" does not know at all about lldb.
There is no imminent work planed on this, that I know of....

3) A new install, without old config.
That should work...
But then it should have worked with your config from the RC, unless the RC had a diff config folder.

Upgrading with existing config from 1.8.4 => that does not update the debugger conf.


Could you test:
If you  (in your primary config), rename the environmentoptions.xml
Then start the IDE. It should create a new environmentoptions.xml, and the debugger should be correct.

Also verify, in your install directory, is a environmentoptions.xml which is the template for a new config. That should have the lldb debugger in it.

I did upgrade from 1.8.4, so that likely caused the problem. While I removed the install directory, I did not remove the config directory. After renaming environmentoptions.xml and restarting the IDE, the correct lldb path does appear, and lldb works.

I could not find the template in the install directory however.

Thanks.

 
“Talk is cheap. Show me the code.” -Linus Torvalds

Free Pascal Compiler 3.2.2
macOS 12.1: Lazarus 2.2.6 (64 bit Cocoa M1)
Ubuntu 18.04.3: Lazarus 2.2.6 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.2.6 (64 bit on VBox)

VTwin

  • Hero Member
  • *****
  • Posts: 1215
  • Former Turbo Pascal 3 user
Re: Lazarus Release 2.0.0
« Reply #88 on: February 12, 2019, 06:50:25 pm »
You can build it yourself by selecting the widgetset when compiling Lazarus,
As it stands I am just as flabbergasted as you that the distribution is build with carbon.
That's silly. It can't possibly last longer than this version because 32 bit got dropped.
It should have been addressed already.

Yes, that is a problem for me. I may stick with the 2.0 fixes branch on Mac for a while yet. The cocoa IDE still has some problems, like not being able to delete controls in the form editor, and contextual menus not working, but is generally in good shape. I posted bug reports, and hope these issues will get addressed in fixes.
“Talk is cheap. Show me the code.” -Linus Torvalds

Free Pascal Compiler 3.2.2
macOS 12.1: Lazarus 2.2.6 (64 bit Cocoa M1)
Ubuntu 18.04.3: Lazarus 2.2.6 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.2.6 (64 bit on VBox)

dbannon

  • Hero Member
  • *****
  • Posts: 2778
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release 2.0.0
« Reply #89 on: February 13, 2019, 10:19:46 am »
1. Crash if you close the Console window before closing an app.
Please report on mantis.

Have done so, https://bugs.freepascal.org/view.php?id=35071
Quote
2. In my medium sized app,  debugln() no longer writes to the Console.
Strange if you have LazLogger in the uses, then it is supposed to work.

EDIT: Ahh, how embarrassing - I had a --debug-log=<file> set in run parameters !  Sorry for the noise, disregard all about not seeing debugln output.

The problem with crash if closing console window before app still exists...

Davo
« Last Edit: February 13, 2019, 10:42:55 am by dbannon »
Lazarus 2, Linux (and reluctantly Win10, OSX)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

 

TinyPortal © 2005-2018