Lazarus 1.9 trunk Qt4 and Qt5 interface (screenshots)

Most recent version (that I know of at this moment) is already available in the depot (haikuports)

Would you happen to have a file called fpc.cfg on the system where the compile succeeded? if yes, how were you able to generate that? Seems something is wrong in the configuration hence for instance the unit ā€˜systemā€™ from fpcā€™s rtl (precompiled) is not foundā€¦

Ok, so that error is gone now. No need for fpc.cfg it turns out. Apparantly something went wrong when installing fpcsrc (and maybe fpc) I just uninstalled both and reinstalled them again directly, resulting in the build running upto Qt5pas during linking.

UPDATE: fpc.cfg -is- needed and is auto created in /boot/system/settings/etc/. this was done during the re-install apparantly.

UPDATE2: just needed to create a link to libQt5Pas, named libQt5Pas.so, in the lazarus/ide folder. It now runs, and gdb is also recognized. Oh, and needed to set the fpcsources folder manually as it sits in another location than were startlazarus is searching.

4 Likes

Well, although Lazarus is not really stable (for instance project properties when OKā€™d stops execution of the IDE), I was able to nicely install all optional packages thatā€™s needed for our software (so that recompiles the IDE every time a package is added).

Also I was able to build that software without trouble, for the first time natively on Haiku x64 for Haiku x64. The software runs quite stable, even the serial ports seems to work OK including baudrate setting (will check the termios thing though to be sure). There was one ā€˜hickupā€™: Haiku decided to re-arrange the order in which the USB-RS232 converters where ā€˜mappedā€™ so I had to manually update the software config for that.
This is probably caused by the fact I just plugged them in one by one (using 2), and after reboot they were both already there. So Haiku did not bother to set the same adapters to the same port numbers.

For the IDE the font is still very spacial which is not very handy when really developing with Lazarus on Haiku.

Anyhow, I am very pleased with the results! Looking good indeed. :smile:

And of course a few screenshots:
screenshot4
screenshot5
screenshot6
screenshot7
screenshot2

12 Likes

I did a local rework on the recipe for libQt5Pas to remove the devel package, this should solve this issue I guess, nice to see you got it to work! :ok_hand:

1 Like

Good day,

Following the steps provided by @Begasus I was able to build and run Lazarus 2.2.O RC1 without errors. Problem is that the ā€œAccess Violationā€ issue is still present, and yes, as @rudolfc pointed out, itā€™s still ā€œa bitā€ unstable.

I canā€™t get some packages installed to properly build CudaText, though it seems that adding them to the project does the trick. I presume Software built against Lazarus will inherit issues present in Lazarus, as CudaText shows same ā€œAccess Violationā€ crash as Lazarus.

A Lazarus expertā€™s expertise would be sincerely appreciated here.

Regards,
RR

2 Likes

Thanks for your work on this all!
Anyhow, should there not also be a link inside the lib folder with the name libQt5Pas.so (Without additional numbers etc)? I guess that would mean I can delete the manually created shortcut in the IDE folder?

Or is this one of the adaptations you did on the lib already?

1 Like

The current recipe at haikuports moves the *.so lib to the _devel package, hence why it isnā€™t found, will push the change in a bit here so you could check

1 Like

Not sure about this for the CudaText stuff, but there are more packages outthere you cannot install, but instead only add to a project (iā€™ve seen a few). If on another platform (ie windows): can you install then or do you see the same behaviour?

Oh, btw if you have a crash, I guess you have a pointer into the problem :slight_smile:
I did not test yet if gdb actually is usefull or if itā€™s only recognized by the IDE. In my case execution stops without showing me any error at all, itā€™s just ā€˜goneā€™. Donā€™t like that, Iā€™d rather see an errorā€¦

let me know when I can reinstall the qt5 thing, Iā€™ll test indeed :slight_smile:

2 Likes

Package build and ready to reinstall :slight_smile:
EDIT I guess you manually have to uninstall the _devel package :wink:

1 Like

So thatā€™s 1.2.9-2 I take it.
I never installed a qt5 _devel package btw.

Anyhow, I see all the correct links including the one I mentioned nicely in the libs folder. Iā€™ll delete and recompile laz without the custom link in the ide folder now :slight_smile:

UPDATE: make clean stops with an error about lazdebuggers.
You need to add that folder for the command fpcmake -r to your ā€˜recipeā€™ you typed earlier. If I do that make clean stops correctly.

1 Like

Build is fine on 32bit also (with gcc8) but fails on launch because it canā€™t find libQt5Pas (links to it though when building), when I copy the libs (and symlinks) to ~/config/non-packaged/lib it finds it but then it fails to find libstdc++.r4.so (which is gcc2), so maybe the gcc8 library in a $prefix/lib pulls that in rather then the gcc8 counterpart?

Already did that here checking a build with bigide, but it fails to build then: /bin/ld: Argument too big

So make clean followed by just make-ing again, without the custom qt link, while I somewhere in between did that fpcmake -r for the debugger folder (I am assuming I donā€™t need to redo all that after a make clean), the lazarus builds and runs OK.

When I run using debugging I do see a debugger error window behind my application telling me it could not get the applicationā€™s PID possibly due to missing debug info. I am guessing the debugger would not work before as well for now though.

UPDATE
OK, I guess debug info is really missing. The exe is 20Mb without debugging, using external debugging info that info is not generated afaict, using internal debugging info the file becomes 27Mb: which is not big enough by a long shot when I compare this with windowsā€¦

The binary ā€œlazarusā€ is about 55Mb on x86_64 and about 268Mb on x86_gcc2 (with bigide), no debug info there too
There is an issue on the port for gdb at haikuports, maybe related to the crashes? Upgrade GDB & send patches upstream Ā· Issue #253 Ā· haikuports/haikuports Ā· GitHub

UPDATE2:
make bigide works also. lazarus becomes approx 75Mb in size (otherwise 55Mb). in options I can choose the LLDB debugger next to GDB now. My exe becomes 66Mb in size, so looking good (lazarus wants me to enable dwarf debug info stuff and recompiles my exe once more).

Debugger does not work yet as at selection and running I get a warning that ā€œā€ is not a valid exe name for the debugger. hmmā€¦

Just came across this :slight_smile: The selected debug format is not supported

yeah something like that I guess. Could be gdb now worksā€¦ anyhow, of course for lldb I needed to do a few more fpcmake -rā€™sā€¦ recompilingā€¦

update: nogo yet on that debugger. For GDB I donā€™t know what version I should have: when I start lazarus using gdb it tells me that we have wrong version in compilation unit header (is 4, should be 2). That sounds like gdb is too old and does not understand 4. we have version 6.3(?) and we would need 7.1(?), or at least a newer version.
Also when you startlazarus from the command line you see that the program to debug PID is supplied, only gdb does not pick it up. incompatible somehow?

UPDATE:
Looks like to old, it was discussed here before. gdb needs to be updated. did we do that already?

Trying to compile/use FPdebugger fails for me with too long arguments with ld during lazarus bigide recompile. Giving up on this part. Besides it seems to have very limited capabilities anyway.
I did see that some lazarus projects that are inside lazarus, amongst which some stuff for this debugger need installed windres from Haikuā€™s crosstools in home/config/non-packaged/bin/ (windows resource compiler) to make building them work.

Maybe that app should be installed alongside lazarus inside a package.

So I think Iā€™ll conclude that debugging with lazarus on Haiku x64 is not possible at all. It only would work with a recent gdb, ours is too old (6.3). I did a brief try at compiling it but some magic is probably needed to make that happen on Haiku (it fails for me).

1 Like