I’ve installed Qt4pas also from HaikuDepot, but it seems to be missing a link from libQt4Pas.5.so to libQt4Pas.so - I’ve downloaded “Download libqt4pas and libqt5pas (qt5.9) for Haiku gcc5_hybrid (builded in Haiku gcc5_hybrid)”, but I don’t know where to place the libs so Lazarus can find them and use those libs to link the application.
I cannot put them in the “/system/lib/” or “/system/lib/x86” because that folder is readonly.
linking does work now, but trying to run (A simple form) gives the following error (the same Rudolfc had a few messages ago : Missing symbool___tls_get_addr
I installed the lazarus version that can be found via this thread.
But I just saw that on the net is also fpcupdeluxe, in a Haiku Build (v1.6.0q). I think I’ll try that as well to see what happens…
I think there are known problems with freepascal not being fully aware of hybrid systems. As a result it may occasionally mix gcc2 and 7 libraries and search paths. And this doesn’t work right, of course.
Next to the one I’ve downloaded here, I’ve compiled fps and lazarus from svn without trouble. Lazarus does start too, but a compiled application gives the same error.
Will investigate some more.
In the meantime I was able to build the cross-compiler for Haiku for Lazarus and FPC trunk on Windows 10. I was able to build my app there, and this version actually runs on Haiku!
Tomorrow I’ll repeat these steps on my Windows7 system to see if it will work there too.
So now I know for sure that the app was not compiled correctly yet on Haiku with Lazarus, since crosse compiling on Windows delivers a working app.
Nice!
Hi again, Now also on windows7 I can crosscompile to Haiku.
The trouble was that while both win7 and win10 are 64bit version OSes, I installed the 32bit fpcupdeluxe package on win7. While this works for the windows and linux targets, it currently does not for Haiku. For the Haiku cross compiler to compile correctly with fpcupdeluxe/lazarus/fpc you need to use the 64bit version.
In the meantime I have my first testing app running on Haiku using Lazarus on win64 as described earlier. This app tests our company’s products hardware by connecting to it via a serial port (or USB to serial) and sending / receiving I/O commands. All data are shown in various forms. It’s working OK it seems, apart from a timer not firing on a form: but this is something that I hear on other platforms as well (Probably need to replace the old delphi timer with a Lazarus ‘native’ one).
But: it turns out the haiku specific code in lazarus/FPC is at least partly outdated. Haiku has evolved (a lot) since someone worked on the haiku specifics I think…
In order to get serial ports working (I use a USB adapter here) two files have to be updated in the source repository. I have updated these files locally to make it work: specifically the configuration of the ports (baudrate, control lines) fail miserably as it was.
I can provide these two files if someone can put them in place. Also I guess it would be handy if someone would check other parts being outdated too…
I have to say I am impressed it’s actually doable to get Delphi programs up and running on Haiku and other OSes apart from Windows with relative ease. I remember back in the Kylix days our company spent a lot of time and money on trying to do this, and we failed. This time however it’s another story…
The files I updated are:
termios.inc;
termiosproc.inc.