The following OS configurations have been tested to build squirrel with Qt 6.5
Compatible
RHEL compatible Linux 8 (not 8.6)
CentOS 8 (not CentOS 8 Stream)
CentOS 7
Windows 10/11
squirrel library and utils cannot be built on CentOS Stream 8 or Rocky Linux 8.6. There are kernel bugs which do not work correctly with Qt's QProcess library. This can lead to inconsistencies when running shell commands, and qmake build errors.
Other OS configurations may work to build squirrel, but have not been tested.
Install the following as root
Install Qt
Download Qt open-source from https://www.qt.io/download-open-source
Make the installer executable chmod 777 qt-unified-linux-x64-x.x.x-online.run
Run ./qt-unified-linux-x64-x.x.x-online.run
The Qt Maintenance Tool will start. An account is required to download Qt open source.
On the components screen, select the checkbox for Qt 6.5.3 → Desktop gcc 64-bit
Install the following as root
Install Qt
Download Qt open-source from https://www.qt.io/download-open-source
Make the installer executable chmod 777 qt-unified-linux-x64-x.x.x-online.run
Run ./qt-unified-linux-x64-x.x.x-online.run
The Qt Maintenance Tool will start. An account is required to download Qt open source.
On the components screen, select the checkbox for Qt 6.5.3 → Desktop gcc 64-bit
Install the following as root
Install Qt
Download Qt open-source from https://www.qt.io/download-open-source
Make the installer executable chmod 777 qt-unified-linux-x64-x.x.x-online.run
Run ./qt-unified-linux-x64-x.x.x-online.run
The Qt Maintenance Tool will start. An account is required to download Qt open source.
On the components screen, select the checkbox for Qt 6.5.3 → Desktop gcc 64-bit
Install the following as root
Install Qt
Download Qt open-source from https://www.qt.io/download-open-source
Make the installer executable chmod 777 qt-unified-linux-x64-x.x.x-online.run
Run ./qt-unified-linux-x64-x.x.x-online.run
The Qt Maintenance Tool will start. An account is required to download Qt open source.
On the components screen, select the checkbox for Qt 6.5.3 → Desktop gcc 64-bit
Install build environment
Install Visual Studio 2019 Community edition, available from Microsoft. Install the C++ extensions.
Install CMake3
Install Qt 6.4.2 for MSVC2019 x64
Install Github Desktop, or TortoiseGit, or other Git interface
Install Qt
Download Qt open-source from https://www.qt.io/download-open-source
Run the setup program.
The Qt Maintenance Tool will start. An account is required to download Qt open source.
On the components screen, select the checkbox for Qt 6.5.3 → MSVC 2019 64-bit
Once the build environment is setup, the build process can be performed by script. The build.sh
script will build the squirrel library files and the squirrel utils.
The first time building squirrel on this machine, perform the following
This will build gdcm (squirrel depends on GDCM for reading DICOM headers), squirrel lib, and squirrel-gui.
All subsequent builds on this machine can be done with the following
Using Github Desktop, clone the squirrel repository to C:\squirrel
Build GDCM
Open CMake
Set source directory to C:\squirrel\src\gdcm
Set build directory to C:\squirrel\bin\gdcm
Click Configure (click Yes to create the build directory)
Select Visual Studio 16 2019. Click Finish
After it's done generating, make sure GDCM_BUILD_SHARED_LIBS
is checked
Click Configure again
Click Generate. This will create the Visual Studio solution and project files
Open the C:\squirrel\bin\gdcm\GDCM.sln
file in Visual Studio
Change the build to Release
Right-click ALL_BUILD and click Build
Build squirrel library
Double-click C:\squirrel\src\squirrel\squirrellib.pro
Configure the project for Qt 6.4.2 as necessary
Switch the build to Release and build it
squirrel.dll
and squirrel.lib
will now be in C:\squirrel\bin\squirrel
Build squirrel-gui
Configure the project for Qt 6.4.2 as necessary
Double-click C:\squirrel\src\squirrel-gui\squirrel-gui.pro
Switch the build to Release and build it
Once you've been granted access to the squirrel project on github, you'll need to add your server's SSH key to your github account (github.com --> click your username --> Settings --> SSH and GPG keys). There are directions on the github site for how to do this. Then you can clone the current source code into your server.
This will create a git repository called squirrel in your home directory.
To keep your local copy of the repository up to date, you'll need to pull any changes from github.
This may happen if the build machine does not have enough RAM or processors. More likely this is happening inside of a VM in which the VM does not have enough RAM or processors allocated.
This error happens because of a kernel bug in RHEL 8.6. Downgrade to 8.5 or upgrade to 8.7.
This example is from the nidb example. If you get an error similar to the following, you'll need to install the missing library
You can check which libraries are missing by running ldd
on the nidb
executable
Copy the missing library file(s) to /lib
as root. Then run ldconfig
to register any new libraries.
If you are using a virtual machine to build, there are a couple of weird bugs in VMWare Workstation Player (possibly other VMWare products as well) where the network adapters on a Linux guest simply stop working. You can't activate them, you can't do anything with them, they just are offline and can't be activated. Or it's connected and network connection is present, but your VM is inaccessible from the outside.
Try these fixes to get the network back:
While the VM is running, suspend the guest OS. Wait for it to suspend and close itself. Then resume the guest OS. No idea why, but this should fix the lack of network adapter in Linux.
Open the VM settings. Go to network, and click the button to edit the bridged adapters. Uncheck the VM adapter. This is if you are using bridged networking only.
Switch to NAT networking. This may be better if you are connected to a public wifi.
Copy the squirrel library files to the lib directory. The libs will then be available for the whole system.