The most advanced option by the moment is s40in solution, i tried to install its packages some time ago but it give me fpc.cfg errors and i was unable to write such file to protected system folder (in Linux i can write to /bin).
Once FreePascal will work in Haiku 32/64 is a matter of time Lazarus will be supported officially, but they must be motivated for active downloads and use.
In the past there was bepascal, a lot of effort but little or none use so the project was abbandoned.
I want to ping this thread about my changes to termios inside FPC because of changes in Haiku done in the past. I created a bugreport over at FPC and forgot to enable email notifications and never checked back Iām afraid.
The people at FPC are listening apparantly as there are some questions that need to be answered, and maybe the route to the solution (serial port trouble) changed in Haiku and/or in FPC.
I need help with that or maybe even better: can someone take over for me!?
in termios.inc itās essentially only the name of a few constants that were changed (and some added)?
the only effective changes for termiosproc.inc are the changes in CFSetISpeed and CFSetOSpeed?
is there a reason why you changed from using imports for tcflow(), tcflush() and tcdrain() to using fpIoCtl? From what I can see the code for them in libroot looks the same, but now weād have the problem should these implementations be changed weād have to update termiosproc.inc again as well
FPC and the sources for version 3.2.2 are already available at haikuports, I managed to build Lazarus so far (no package) but launching it still fails to find libQt5Pas.so.1 ⦠need to see how the package from @s40in was made
Donāt remember by heart Iām afraid. Anyhow, you did see that the sources for this are inside lazarus at fpcupdeluxe/lazarus/lcl/interfaces/qt5/cbindings I take itā¦
I think I used those sources instead of the old sources in the qt5 beos/haiku package you can find online. That works perfectly, though on some occasions I had to modify (upgrade) some parts in the past IIRC.
OK, repackaged libQt5Pas and it builds ok (Lazarus), on launch it still doesnāt seem to find libQt5pas.so.1 (copyād it over to ~/config/non-packaged/lib and then it seems to find it)
But then it fails to find libstdc++.r4.so? (not sure which one is responsible for it now ⦠libQt5Pas/FPC/Lazarus?)
~/destdir/bin> startlazarus
runtime_loader: Cannot open file libstdc++.r4.so: No such file or director
For applications on windows I always just dump the bindings in the application folder itself, so where the exe is, along with the needed Qt core libs and their dependancies. I donāt recall at this moment where it needs to be for laz on haiku. could you as a test not just look in the pkg files which I posted, or in the originals? Another thing: what if you start lazarus directly? I am guessing āstartlazarusā is not lazarus IDE itself?
Please note Iām sort of a beginner myself with this stuff
EDIT: Oh yeah, itās important to use the same libs /dependancies for compiling the bindings as is done for the app, I seem to remember otherwise youāll get missing symbols. Ah, and same goes for the used compiler.
Checked, the build I did for FPC is gcc8, libQt5Pas also, switched to x86 in Terminal, so compiler wise it should be the same.
lazarus (lazarus-ide links to it) and startlazarus wonāt start due previous error: will post a screenshot in a while, Iāve checked several options to place the lybraries (non-packaged/alongside/intree in ./lib) all the same ā¦
Something fishy, because that missing libstdc++.r4.so lib is gcc2 lib. Something went wrong in the executable linking stage, gcc4+ programs should not depend on that lib AFAIK.
That one isnāt included at haikuports, that is the internal build in the sourcetree from lazarus
Doesnāt matter if I use that one or the one provided in the depot (1.2.9), same results, so itās either FPC or Lazarus pulling libstdc++.r4.so in
Iām just the messenger, even if I got it to build atm on 64bit I wouldnāt have a clue how to use it
Iāll leave that to the experts ⦠and when it comes to it ⦠patches welcome
EDIT for the Qt bindings there is already the package in haikuports libQt5Pas
Steps I did here to build Lazarus on 64bit (started with a recipe but getting weird errors atm (32bit), so that has to wait and needs investigation)
Download lazarus source: https://sourceforge.net/projects/lazarus/files/Lazarus%20Zip%20_%20GZip/Lazarus%202.0.12/lazarus-2.0.12.tar.gz
Install: fpc,fpc_source and libqt5pas from haikuports (gdb for the debugger but that's not needed for the build)
Extract the source cd to the source and run the next commands from Terminal:
export FPCDIR=/boot/system/lib/fpc/3.2.2/src/
fpcmake -r
cd components/
fpcmake -r
cd ../lcl/
fpcmake -r
cd interfaces/
fpcmake -r
cd nogui/
fpcmake -r
cd ../../../tools/
fpcmake -r
cd ../lcl/interfaces/qt5/
fpcmake -r
cd ../../../
make LCL_PLATFORM=qt5 (to use with 'bigide' it needs more finetuning)
Nice!
So I tried this, but I get following output:
~/lazarus> make LCL_PLATFORM=qt5
make -C packager/registration
make[1]: Entering directory ā/boot/home/lazarus/packager/registrationā
/bin/rm -f ā¦/units/x86_64-haiku/fcllaz.ppu
/boot/system/bin/ppcx64 -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/boot/system/lib/fpc/3.2.2/src//rtl -FE. -FUā¦/units/x86_64-haiku -dx86_64 fcllaz.pas
Free Pascal Compiler version 3.2.2 [2021/07/02] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Warning: (11053) The selected debug format is not supported on the current target, not changing the current setting
(1002) Target OS: Haiku for x86_64
(3104) Compiling fcllaz.pas
Fatal: (10022) Canāt find unit system used by fcllaz
Fatal: (1018) Compilation aborted
Makefile:3234: recipe for target āfcllaz.ppuā failed
make[1]: *** [fcllaz.ppu] Error 1
make[1]: Leaving directory ā/boot/home/lazarus/packager/registrationā
Makefile:1989: recipe for target āregistrationā failed
make: *** [registration] Error 2