Recent

Author Topic: How Lazarus/FPC made PeaZip possible  (Read 3416 times)

Giorgio Tani

  • New Member
  • *
  • Posts: 31
How Lazarus/FPC made PeaZip possible
« on: December 06, 2020, 08:30:57 pm »
Hi, this
https://www.reddit.com/r/PeaZip/comments/k7zq0f/lazarusfpc_the_ide_that_made_peazip_posible/
is a post for thanking Lazarus / Free Pascal community for providing a such excellent IDE, that had made possible to me to create and maintain PeaZip project for 14 years - which in IT landscape is a very very long time, keeping up in example with migrations from XP up to Windows 10, and from x86 to x64 Linux systems.

jma_sp

  • Full Member
  • ***
  • Posts: 150
  • El conocimiento si ocupa lugar.
Re: How Lazarus/FPC made PeaZip possible
« Reply #1 on: December 06, 2020, 08:58:19 pm »
Thankyou very much for creating and mantaining such wonderfull program.

It would be interesting if it could work in Haiku operating system (32 & 64 bits).

They use two types of installations:

 - 1. As non package mode.
 - 2. As package mode in .hpkg format and then available in its depot repo.

What are the aditional requeriments to compile peazip? it have a lot of components and forms.
« Last Edit: December 06, 2020, 09:00:09 pm by jma_sp »
Devuan Beowulf 3.0( JWM/ROX/iDesk) - Puppy Linux,  Haiku OS,.ReactOS 0.4.xx  - FreeDos .

jwdietrich

  • Hero Member
  • *****
  • Posts: 1239
    • formatio reticularis
Re: How Lazarus/FPC made PeaZip possible
« Reply #2 on: December 06, 2020, 09:00:56 pm »
A version for macOS would be great too. But like @jma_sp I feel snowed under with units.
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 3.7.0 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

Giorgio Tani

  • New Member
  • *
  • Posts: 31
Re: How Lazarus/FPC made PeaZip possible
« Reply #3 on: December 06, 2020, 10:07:31 pm »
What are the aditional requeriments to compile peazip? it have a lot of components and forms.
As for the Lazarus documentation page https://wiki.freepascal.org/Installing_Lazarus_on_Haiku Qt4 and Qt4 bindings are necessary for compiling a GUI application under Haiku OS.
Although I've never tried to build PeaZip targeting Haiku, targeting Qt4 widget set is supported and tested, there is an official build for Linux x86 using Qt4 (as alternative to the version targeting GTK2).

project_peach.lpi builds the main application peazip, project_pea.lpi builds pea executable which handles PEA format and provides extra utilities (file hashing, secure delete, file spanning...).

But, PeaZip works mainly as frontend for other Open Source utilities (likewise Engrampa or Fileroller), so it would be needed to find or recompile binaries for the third parts back-end-
IMHO the minimum needed would be p7zip (possibly supporting McMilk codecs for extra compression formats https://mcmilk.de/projects/7-Zip-zstd/ ), and other top priorities could be Brotli, Zstandard, and Zpaq.

jma_sp

  • Full Member
  • ***
  • Posts: 150
  • El conocimiento si ocupa lugar.
Re: How Lazarus/FPC made PeaZip possible
« Reply #4 on: December 07, 2020, 10:27:26 am »
Ok, some weeks ago i downloaded latest sourcecode of peazip and tried to compile under Haiku 64 bits with Lazarus (qt5 because native Haiku widgetset do not exist for Lazarus).
I was unable to compile and generate a complete peazip but id like to have it as some Haiku users also like (and other programs created with FreePascal/Lazarus).
They are porting a lot of programs created with qt and also are working to have gtk support.
The big problem is that when i install some packages in Lazarus under Haiku it crash.
I lograte to have an instable Lazarus installation but it is able to compile things.

https://discuss.haiku-os.org/t/qt4-does-not-compile/10093/42

As you see there is other people trying to compile or create programs with Lazarus under this OS as cudatext and would be great to have other as yours, doublecomand, SimThyr, SPINAThyr,....
« Last Edit: December 07, 2020, 10:31:08 am by jma_sp »
Devuan Beowulf 3.0( JWM/ROX/iDesk) - Puppy Linux,  Haiku OS,.ReactOS 0.4.xx  - FreeDos .

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4542
  • I like bugs.
Re: How Lazarus/FPC made PeaZip possible
« Reply #5 on: December 07, 2020, 11:55:38 am »
The big problem is that when i install some packages in Lazarus under Haiku it crash.
Can you debug under Haiku? AFAIK GDB has been there for some time.
Please get proper debugger backtraces of the chashes using Lazarus trunk. Even better if you can fix them and provide patches.

Quote
I lograte to have an instable Lazarus installation but it is able to compile things.
Actually you don't need to install Lazarus trunk. Just build it and start from its location like :
 $ ./lazarus &
I believe the command line in Haiku works about the same as in other OS.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1790
Re: How Lazarus/FPC made PeaZip possible
« Reply #6 on: December 07, 2020, 12:14:06 pm »
You could use fpcupdeluxe to install FPC and Lazarus.
Or.
Open the zips below, and you will find pre-compiled ready-to-use libqt5 for i386 and x86_64.
Or.
Cross-compile towards Haiku.

https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/1.8.2f/fpcupdeluxe-i386-haiku-qt5.zip

https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/1.8.2f/fpcupdeluxe-x86_64-haiku-qt5.zip

jma_sp

  • Full Member
  • ***
  • Posts: 150
  • El conocimiento si ocupa lugar.
Re: How Lazarus/FPC made PeaZip possible
« Reply #7 on: December 07, 2020, 06:49:21 pm »
Thanks to both:

 @DonAlfredo, thanks for include qt5pas in fpcupdeluxe. I have tried to install Lazarus a lot of times and combinations under Haiku but every times finalize with errors (also other users that tried it).

fpcupdeluxe let me to have latest Lazarus in raspberry by example but not in Haiku.

Using normal way qmake make make install also works to generate such libs.

When i tried to compile Lazarus from command via make LCL_PLATFORM=qt5 it stop linking in tachart (circular reference found) and synedit.
I use recent snapshot.

@JuhaManninen

Crash only happen with some packages so i restore functional directory and continue working.
From IDE when compiling a program show a popup message indicating:
_________________________________________________________________
DEBUGGER ERROR
Oppps, the debugger entered the error stateSave your work now!
Hit Stop and hope the best, we are pulling the plug.
The debugger failed to get the application's PID.
This must be caused by missing debug info.
_________________________________________________________________

No problem becuase once the executable file is generated it works ok.

And yes command line works as in other OS in bash.

I run lazarus vía:

./lazarus &   or      ./startlazarus &

When i have a success in generating a working Lazarus IDE was after do a lot of thinks and dont know what of all worked so i cant reproduce steps.

Normal way do not work for me, compile a lot of it but stop with error.For me it is not a problem because have a working copy and i  suppouse that if overwrite lazarus sources with newer versións in trunk it would recompile without fault.
I have to read more doc about how  freepascal and lazarus are build. :)
« Last Edit: December 07, 2020, 06:56:11 pm by jma_sp »
Devuan Beowulf 3.0( JWM/ROX/iDesk) - Puppy Linux,  Haiku OS,.ReactOS 0.4.xx  - FreeDos .

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4542
  • I like bugs.
Re: How Lazarus/FPC made PeaZip possible
« Reply #8 on: December 07, 2020, 08:11:58 pm »
I run lazarus vía:
./lazarus &   or      ./startlazarus &
Try:
$ gdb lazarus
then "run".
When it crashes, type "bt" for a backtrace.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8783
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: How Lazarus/FPC made PeaZip possible
« Reply #9 on: December 12, 2020, 06:37:33 pm »
It's the default (un)archiver on my Manjaro Linux, despite I also have Ark installed (I'm a KDE freak as well).

 

TinyPortal © 2005-2018