Recent

Author Topic: Common File Dialogs Have Been Broken for a Very Long Time (Ex: Ubuntu AARCH64)  (Read 18414 times)

msintle

  • Sr. Member
  • ****
  • Posts: 259
So it worked to fix the common file dialog issues when I had it in my initialization.

But it did not work to fix random crashes on Ubuntu which happened when, for example, I'd cancel out of one of my own dialogs (but not, when I, for example, OK'd out of the same dialog [ditto with Lazarus, its settings dialog in particular]).

Is this because of the random flag overwrite issue when calling the widget APIs, and I suppose the proper fix place already accounts for that and has therefore accommodated that issue, too?

msintle

  • Sr. Member
  • ****
  • Posts: 259
BTW we're not out of the woods yet.

QA had reported an issue with Qt5 on x86_64 (not aarch64) where after closing common file dialogs, a crash occurs.

Since amd64 never really had mask issues to begin with...any thoughts where to start looking for this one next?

zeljko

  • Hero Member
  • *****
  • Posts: 1686
    • http://wiki.lazarus.freepascal.org/User:Zeljan
I don't have any crash so far on linux x86_64, lcl-qt5 after closing common file dialogs. Open issue and attach simple example project and write howto provoke crash.

msintle

  • Sr. Member
  • ****
  • Posts: 259
Which Linux distributions does it work for you under?

Have you previously installed any Qt5 libraries explicitly on them?

TRon

  • Hero Member
  • *****
  • Posts: 3760
Beats me why you would ask that at one of the qt developers.
I do not have to remember anything anymore thanks to total-recall.

msintle

  • Sr. Member
  • ****
  • Posts: 259
I didn't realize he was one of the Qt5 head honchos, of course.

Thanks for letting me know, and no offense intended either way.

Just trying to establish a baseline environment for myself to build from.

zeljko

  • Hero Member
  • *****
  • Posts: 1686
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Which Linux distributions does it work for you under?

Any,haven't found one that does not work or crashes.

Have you previously installed any Qt5 libraries explicitly on them?

Yes, even multiple qt5 libs (own build) for testing purposes.

zeljko

msintle

  • Sr. Member
  • ****
  • Posts: 259
Have you previously installed any Qt5 libraries explicitly on them?

Yes, even multiple qt5 libs (own build) for testing purposes.

zeljko

I meant to ask about the Qt5 Pascal bridges in particular - libQt5Pas was it? Do you have a recommended best practice to get that stuff onto a Qt5 system?

cdbc

  • Hero Member
  • *****
  • Posts: 1753
    • http://www.cdbc.dk
Hi
Quote
libQt5Pas was it? Do you have a recommended best practice to get that stuff onto a Qt5 system?
Compile it yourself, the files are in .../lazarus/lcl/interfaces/qt5/cbindings/
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

TRon

  • Hero Member
  • *****
  • Posts: 3760
@mseintl:
No offense intended from my side either (I was a bit busy).

Not specifically a bigshot but someone with a passion for bugs (or actually fixing them)  :)

libqt5pas comes with lazarus or from your repository... or in case that is too old (or your chicken egg problem),  a project maintained by dbannon here.

Note the instructions and date of the library (if your distro's repository has the same version then don't bother with a manual install).
I do not have to remember anything anymore thanks to total-recall.

zeljko

  • Hero Member
  • *****
  • Posts: 1686
    • http://wiki.lazarus.freepascal.org/User:Zeljan
I meant to ask about the Qt5 Pascal bridges in particular - libQt5Pas was it? Do you have a recommended best practice to get that stuff onto a Qt5 system?

For windows you have dll in binaries, but you can build your own, for linux usually distro package is needed (qt5pas or libqt5pas, name depends on distro), but also you can build it on linux on your own. For Mac, you have to build it by yourself.

msintle

  • Sr. Member
  • ****
  • Posts: 259
libqt5pas comes with lazarus or from your repository... or in case that is too old (or your chicken egg problem),  a project maintained by dbannon here.

Yeah that was the repo I'd found earlier, glad to hear I'm not that far off that one, at least.

Just wondering if my issues reproduce because of that project and whether any distributions might have newer bindings somehow?

msintle

  • Sr. Member
  • ****
  • Posts: 259
Hi
Quote
libQt5Pas was it? Do you have a recommended best practice to get that stuff onto a Qt5 system?
Compile it yourself, the files are in .../lazarus/lcl/interfaces/qt5/cbindings/
Regards Benny

Intriguing, how would I do that compilation myself?

cdbc

  • Hero Member
  • *****
  • Posts: 1753
    • http://www.cdbc.dk
Hi
This is from the 'CBindings' - README.TXT in the path I gave you above:
Code: Text  [Select][+][-]
  1. Compile Pascal Qt Interface from source:
  2. ========================================
  3.  * Download and unpack the sources
  4.  * cd into the resulting unpacked directory
  5.  * This directory contains amongs other things a Qt Project File Qt5Pas.pro
  6.  * run qmake -query to inspect your Qt installation
  7.  * qmake (creates Makefile based upon Qt5Pas.pro)
  8.  * make (compiles)
  9.  * make install (obtain super user rights with sudo or su)
  10.  * make clean (cleans directory, do this when switching Qt versions)
  11.  
  12. Linux Note:
  13. -----------
  14. To use a different Qt then the system wide Qt,
  15. use /PathToOtherQt/bin/qmake and learn about LD_LIBRARY_PATH
  16. (export LD_LIBRARY_PATH=/PathToOtherQt/lib)
  17.  
  18.  
  19. Mac OsX Note:
  20. -------------
  21. qmake may create a xcode project
  22. instead of a g++ Makefile
  23. use xcodebuild to compile
  24.  
  25. to create a g++ Makefile:
  26. QMAKESPEC=macx-g++ qmake
  27.  
  28. The qmake project is configured to create a
  29. framework instead of a plain library
  30.  
  31. Windows Note:
  32. -------------
  33. Verify the QTDIR,QMAKESPEC environment variables.
  34. e.g. QMAKESPEC=win32-g++ and that make -v
  35. and gcc -v produce the expected result.
  36. Be sure that mingw32 shipped with Qt5 is in PATH,
  37. so bindings are built with correct mingw32 version.
  38. eg. for Qt-5.6.1 you can set all paths in cmd and
  39. build bindings.
  40.  
  41. set PATH=C:\Qt5Directory\Tools\mingw492_32\bin;C:\Qt5Directory\5.6\mingw49_32\bin;%PATH%
  42. qmake -query
  43. qmake
  44. mingw32-make
  45.  
  46.  
  47.  
  48. Installation
  49. ============
  50. When compiling from source,
  51. you can use make install.
  52.  
  53. When using the binary packages,
  54. see below.
  55.  
  56. If preferred, first strip
  57. the libraries before installation.
  58.  
  59. Linux Binary Installation
  60. -------------------------
  61. The libraries should be copied
  62. to the distribution specific
  63. system library directory
  64. e.g. /usr/lib.
  65. Ensure the symlinks are correct.
  66. The .so.OneDigit link is used when running a program.(google soname)
  67. The .so link is used when linking during development
  68.  
  69. Windows Binary Installation
  70. ---------------------------
  71. The dll can be copied to e.g.
  72. the Qt bin directory, as this
  73. directory is already in the
  74. PATH environment variable.
  75.  
  76. Mac OsX Binary Installation
  77. ---------------------------
  78. The provided package installs
  79. to /Library/Frameworks
  80.  
Note: On my system, the 'qmake' has a sibling named 'qmake-qt5', where the latter is the one to use.
(the 'qmake' creates qt4).
Ofc. you need to SU to become root, to install the library & symlinks.
Note2: When you start compiling C/C++ ...YOU REALLY COME TO APPRECIATE THE SPEED OF FPC  :D 8-)
I.e: Get your coffe-maker going, it takes a while...
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

msintle

  • Sr. Member
  • ****
  • Posts: 259
Hi
Note2: When you start compiling C/C++ ...YOU REALLY COME TO APPRECIATE THE SPEED OF FPC  :D 8-)
I.e: Get your coffe-maker going, it takes a while...
Regards Benny

Thanks, Benny!

Re: Speed, oh yeah! Does that mean Free Pascal is still a single pass compiler while the C-C++ stuff is still double pass? I wonder what happened with LLVM and all the others on Windows, for example, and Delphi - and whether they are still single pass compilers.

At risk of hijacking my own thread, in the past it was all about Pascal vs C(++) - now look where we're at with all these languages popping up like shrooms!

 

TinyPortal © 2005-2018