long time to build data recorders

Data recorders, and Kronometrix Data Recording package are based on several open source libraries and Perl5. It takes a considerable long time, for example around 1 hr to build the data recorders for Debian OS. See below:

#################################################################
# Build Engine                                                  #
#################################################################
# Start: Tue Dec 20 12:54:51 EET 2022
# Target: linux x86_64
# Module: recording
# Version: 1.20
#################################################################
############################################################
Submodule: perl
Info: Step 1 - Extracting perl-5.36.0 ...
Info: Step 2 - Configure perl ...
Info: Step 3 - Make perl...
Info: Step 4 - Make test perl...
Info: Step 5 - Make install perl...
############################################################
Submodule: openssl
Info: Step 1 - Extracting openssl-1.1.1s ...
Info: Step 2 - Configure openssl ...
Info: Step 3 - Make openssl...
Info: Step 4 - Make install openssl...
############################################################
Submodule: expat
Info: Step 1 - Extracting expat-2.5.0 ...
Info: Step 2 - Configure expat ...
Info: Step 3 - Make expat...
Info: Step 4 - Make install expat...
############################################################
Submodule: curl
Info: Step 1 - Extracting curl-7.86.0 ...
Info: Step 2 - Configure curl ...
Info: Step 3 - Make curl...
Info: Step 4 - Make install curl...
Warning: lib directory found...
############################################################
Submodule: fio
Info: Step 1 - Extracting fio-3.28 ...
Info: Step 2 - Configure fio ...
Info: Step 3 - Make fio...
Info: Step 4 - Make install fio...
############################################################
Submodule: Net-SSLeay
Info: Step 1 - Extracting Net-SSLeay-1.90 ...
Info: Step 2 - Configure Net-SSLeay ...
Info: Step 3 - Make Net-SSLeay...
Info: Step 4 - Make install Net-SSLeay...
############################################################
Submodule: IO-Socket-SSL
Info: Step 1 - Extracting IO-Socket-SSL-2.070 ...
Info: Step 2 - Configure IO-Socket-SSL ...
Info: Step 3 - Make IO-Socket-SSL...
Info: Step 4 - Make install IO-Socket-SSL...
############################################################
Submodule: XML-Parser
Info: Step 1 - Extracting XML-Parser-2.46 ...
Info: Step 2 - Configure XML-Parser ...
Info: Step 3 - Make XML-Parser...
Info: Step 4 - Make install XML-Parser...
############################################################
Submodule: Perl CPAN
Info: Step 1 - Install Perl CPAN modules
 CPAN module: Proc::Daemon
 CPAN module: Proc::PID::File
 CPAN module: JSON::XS
 CPAN module: Data::Peek
 CPAN module: CPAN::DistnameInfo
 CPAN module: File::Tail
 CPAN module: Regexp::Common
 CPAN module: Filesys::Df
 CPAN module: Sys::Filesystem
 CPAN module: HTML::TableExtract
 CPAN module: JSON
 CPAN module: UUID::Tiny
 CPAN module: Carp::Assert
 CPAN module: Net::Domain::TLD
 CPAN module: Geography::Countries
 CPAN module: DateTime::Format::ISO8601
 CPAN module: Email::Valid
 CPAN module: Spreadsheet::XLSX
 CPAN module: Geo::IPfree
 CPAN module: Inline::MakeMaker
 CPAN module: Capture::Tiny
 CPAN module: Text::Template
 CPAN module: AnyEvent
 CPAN module: IO::Async
 CPAN module: IO::Async::Listener
 CPAN module: Inline::C
 CPAN module: Date::Calc
 CPAN module: Linux::Distribution
 CPAN module: inc::Module::Install
 CPAN module: DBI
 CPAN module: IO::Interface
 CPAN module: Redis
 CPAN module: Net::DHCP::Watch
 CPAN module: Net::SNMP
 CPAN module: Mail::IMAPClient
 CPAN module: File::Stat::Bits
 CPAN module: Net::NTP
 CPAN module: Filesys::DiskUsage
 CPAN module: Geo::TAF
 CPAN module: JSON::MaybeXS
 CPAN module: Convert::ASN1
 CPAN module: Net::HTTP
 CPAN module: Net::HTTPS
 CPAN module: LWP
 CPAN module: LWP::Protocol::https
 CPAN module: HTML::TreeBuilder
 CPAN module: App::SpeedTest
############################################################
Submodule: Net-Curl
Info: Step 1 - Extracting Net-Curl-0.51 ...
Info: Step 2 - Configure Net-Curl ...
Info: Step 3 - Make Net-Curl...
Info: Step 4 - Make install Net-Curl...
############################################################
Submodule: Crypt-OpenSSL-X509
Info: Step 1 - Extracting Crypt-OpenSSL-X509-1.914 ...
Info: Step 2 - Configure Crypt-OpenSSL-X509 ...
Warning: prerequisite Crypt::OpenSSL::Guess 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Crypt::OpenSSL::X509
Writing MYMETA.yml and MYMETA.json
Info: Step 3 - Make Crypt-OpenSSL-X509...
Info: Step 4 - Make install Crypt-OpenSSL-X509...
Info: Step 5 - Install Net::SSL::ExpireDate ...
############################################################
Submodule: Linux-Info
Info: Step 1 - Extracting Linux-Info-1.5 ...
Info: Step 2 - Configure Linux-Info ...
Info: Step 3 - Make Linux-Info...
Info: Step 4 - Make install Linux-Info...
############################################################
Submodule: sysstat
Info: Step 1 - Extracting sysstat-12.5.3 ...
Info: Step 2 - Configure sysstat ...
Info: Step 3 - Make sysstat...
Info: Step 4 - Make install sysstat...
############################################################
Submodule: luajit
Info: Step 1 - Extracting luajit2-2.1-20210510 ...
Info: Step 2 - Make luajit...
Info: Step 3 - Make install luajit...
############################################################
Info: Step 2 - Configure Kronometrix ...
Info: Step 3 - Make Kronometrix...
Info: Step 4 - Make install Kronometrix...
############################################################
Submodule: bin linux
Info: Step 1 - Installing setenv ...
Info: Step 2 - Installing recorders ...
############################################################
Submodule: tests linux
Info: Step 1 - Check recorders
Executing sysrec
Executing cpurec
Executing diskrec
Executing nicrec
Executing hdwrec
Info: Step 2 - Check libs
############################################################
Submodule: tar package linux
Info: Step 1 - Kronometrix tar package
############################################################
Submodule: deb package linux
Info: Step 1 - Create stage directory
Info: Step 2 - Prepare stage directory
Info: Step 3 - Cleanup stage directory
#################################################################
# SUMMARY
# Target:  linux x86_64
# Compiler: gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
# Built on: linux 4.9.0-15-amd64
#################################################################
# Module: recording
# Version: 1.20
# Build Date: Tue Dec 20 14:08:44 EET 2022
# perl: ok
# openssl: ok
# Net-SSLeay: ok
# IO-Socket-SSL: ok
# Linux::Info: ok
# expat: ok
# fio: ok
# Perl CPAN: ok
# Perl XML::Parser: ok
# curl: ok
# sysstat: ok
# X509: ok
# Luajit: ok
# webrec, svcrec: ok
# tests: ok
# tar pkg: ok
# deb pkg: ok
# FINALIZE: ok
#################################################################
# Total Build time: 1h:13m:53s
#################################################################

Of course one can use ready made packages for various operating system, but building from source it will take time.

Edited by Stefan Parvu