Prerequisites

For All Systems

For a successful installation of Squore, you will need:

  • The latest version of the Squore Server installer, which can be downloaded from Vector web site’s Download Center

  • A supported Operating System, as stated in Supported Operating Systems

  • A Java Runtime Environment version 17 (64-bit) (Java 11 is still supported, any other versions are not.)

  • A user account with system administrator privileges

  • At least 4 GB of space available on disk for a full installation with demo projects

  • At least 8 GB of RAM on the server machine

  • A valid Squore Server license file (optional, since the license file can be added after installation)

Keep in mind that the requirements above are the strict minimum. In production, Squore Server generally runs on a dedicated machine. A performant configuration is usually:

  • 16 threads CPU.

  • 64GB of RAM.

  • SSD hard drives.

Squore reserves 25% of the available RAM of the machine to the database and another 25% to the server. External processes (like Checkstyle or FindBugs) running on the same machine as Squore may add to the amount of RAM required for analysing source code. Linux is known to offer better performances than Windows when running Squore. For a production database, you should plan a minimum of 20 GB of disk space.

Supported Operating Systems

The following is a list of the officially supported and tested operating systems:

A 64-bit version of the OS is required

  • CentOS 7 and 8

  • SUSE Linux Enterprise 12 and 15

  • openSUSE LEAP 15.4

  • Ubuntu 22.04 LTS

  • Windows 10 and 11

  • Windows Server 2019

The following is a list of the operating systems that are not regularly tested but are known to be working:

  • Red Hat Enterprise Linux 7

  • Ubuntu 18.04 and 20.04 LTS

  • Windows Server 2008 R2, 2012 R2 and 2016

Supported Database Management Systems

Squore Server can use the following database management systems to store its data:

  • PostgreSQL 16 (9.2, 9.6, 10, 12, 13, 14 or 15 can be used on Linux)

  • Oracle Database Enterprise Edition 12c and 19c (64-bit)

It is possible to host the database on the same machine as Squore Server or on a remote machine with either DBMS.

When using a database backend on a remote machine, the database administrator is responsible for backing up the database. The backup scripts included in the Squore Server installation will only handle the backup of the data stored on the Squore Server file system in that case. You can find more information about backup strategies for Squore Server in the section called Backup Tools in the Installation and Administration Guide.

Supported Web Browsers

Squore is compatible with many web browsers and versions.

That said, here is the list of officially tested and supported browsers:

  • Google Chrome: 94 and up.

  • Mozilla Firefox: 92 and up.

  • Microsoft Edge: 94 and up (based on Chromium).

Packages for Windows

Only a JRE is required for Squore Server. The Windows installer already contains the TCL and Perl runtimes as well as a portable PostgreSQL installation and a distribution of PhantomJS.

Packages for Linux

CentOS and RHEL

On Red Hat Enterprise Linux and CentOS (6.5, 7.1 and 8), the dependencies are satisfied by the following packages:

Mandatory packages:

  • java-17-openjdk, java-11-openjdk or java-1.8.0-openjdk

  • postgresql-server (unless you use a RDBMS running on another system)

  • rsync

  • unzip

  • tcl

  • perl

  • perl-Date-Calc

  • perl-Digest-SHA

  • perl-JSON

  • perl-libwww-perl

  • perl-Time-HiRes

  • perl-XML-Parser

  • fontconfig

Optional Perl packages:

  • For working with ExcelMetrics:

    • perl-HTML-Parser

    • perl-CPAN (CPAN utility requirement)

    • perl-Spreadsheet-ParseExcel (available in the EPEL repository)

    • perl-Spreadsheet-XLSX (available in the EPEL repository)

    • The following perl modules which are not available as packages:

  • For working with Advanced CSV Export Management:

    • perl-Text-CSV

For more information about how to install the Extra Packages for Enterprise Linux (EPEL) repository, consult https://fedoraproject.org/wiki/EPEL.

Perl’s modules that are not available as a package must be installed using cpan (make sure cpan is properly configured, by running cpan without arguments first):

sudo cpan -i Spreadsheet::BasicRead

Ubuntu

On Ubuntu 16.04 LTS, 18.04 LTS 20.04 LTS and 22.04 LTS, the dependencies are satisfied by the following packages:

Mandatory packages:

  • openjdk-17-jre, openjdk-11-jre or openjdk-8-jre

  • postgresql (unless you use a RDBMS running on another system)

  • rsync

  • unzip

  • tcl

  • perl

  • libdate-calc-perl

  • libhttp-message-perl

  • libjson-perl

  • libwww-perl

  • libxml-parser-perl

Optional Perl packages:

  • For working with ExcelMetrics:

    • make (CPAN utility requirement)

    • libhtml-parser-perl

    • libspreadsheet-parseexcel-perl

    • libspreadsheet-xlsx-perl

    • The following perl modules which are not available as packages:

  • For working with Advanced CSV Export Management:

    • libtext-csv-perl

Perl’s modules that are not available as a package must be installed using cpan (make sure cpan is properly configured, by running cpan without arguments first):

sudo cpan -i Spreadsheet::BasicRead

SUSE Linux Enterprise

On SUSE Linux Enterprise 12 SP3, the dependencies are satisfied by the following packages:

Mandatory packages:

  • java-17-openjdk, java-11-openjdk or java-1_8_0-openjdk

  • postgresql-server (unless you use a RDBMS running on another system)

  • rsync

  • unzip

  • tcl

  • perl

  • perl-Date-Calc

  • perl-HTTP-Message

  • perl-JSON

  • perl-libwww-perl

  • perl-XML-Parser

  • fontconfig

Optional Perl packages:

  • For working with ExcelMetrics:

  • For working with Advanced CSV Export Management:

    • The following perl modules which are not available as packages:

Perl’s modules that are not available as a package must be installed using cpan (make sure cpan is properly configured, by running cpan without arguments first):

sudo cpan -i Spreadsheet::BasicRead

Other Linux Distributions

On Linux platforms, the following must be installed before installing Squore:

Mandatory packages:

  • Java version 17 (64-bit) (Java 11 is still supported, any other versions are not.)

  • Tcl version 8.6 or greater,

  • PostgreSQL version 16 (9.2, 9.6, 10, 12, 13, 14 or 15 can be used on Linux) (unless you use a RDBMS running on another system) including at least the server component, and optionally, the pgAdmin utility.

  • The rsync and unzip utilities

  • Perl version 5.32.1.1 or greater including the following extra-modules:

  • fontconfig library

Optional Perl packages:

If some of these modules are available as packages on your operating system, it is recommended to use them as it avoids having to reinstall the modules via cpan after upgrading your version of perl.

Sizing Squore Server and Database

The disk space necessary for analyses varies depending on your analysis model as well as the amount of information analysed. It is therefore difficult to predict accurately the amount of space that your Squore installation will use.

Nevertheless, after a few runs you should be able to estimate disk space requirements by working out the space required to analyse an artefact with your analysis model.

Keep in mind that the first version of a project is always more costly than subsequent analyses, and that an analysis with only a few changes will use a lot less space than an analysis where there are a lot of changes.

All that said, here are some examples of Squore installations using Software Analytics model:

Small Installation

Average Installation

Database

1.5G

72G

Projects Folder

72M

15G

Source Code Files

1542

14240

Lines of Code

449841

1.6M

Projects

15

7

Branches

3

40

Methods and Functions

17794

297845

Classes

2072

18067

Tickets

20

11051

Overall Artefacts

21875

450643

Findings

182455

1.0M