@CalebRHaynes when reporting issues it helps to know not only the software version but also the operating system. From your report, I can infer that you are using MacOS. MacOS tries to prevent you from installing malicious software, and therefore it will kill unknown software. It is unfortunate that the operating system does not provide an explanation for the users. The fix is to simply open your System Settings and explicitly allow the unknown software to run:
This issue is not specific to dcm2niix, but any MacOS software you download from the web. I do provide the current stable version of dcm2niix in the MRIcroGL distribution in a code-signed and notarized MacOS installation package. As you found, you can also use other mechanisms to install dcm2niix. The security measures are actually more stringent for native M1 executables than emulated x86 executables emulated on M1. So high performance native tools like dcm2niix are held to a higher level of scrutiny. However, in general you should be aware that MacOS includes a lot of important safety mechanisms, but they are often very unintuitive (another example of this is Gatekeeper Path Randomization).
Hi Chris- thanks for the great software by the way.
Apologies for not being clearer about my operating system, I am using Linux. I got the “Killed” message when I tried the method of using curl to download the linux zip. Happy to send more details about my setup if it helps future users.
@CalebRHaynes I could replicate your issue on my Linux computer. Would you remind running the following commands on your machine and telling me what output you get:
uname -a
lsb_release -a
curl -fLO https://github.com/rordenlab/dcm2niix/releases/latest/download/dcm2niix_lnx.zip
unzip dcm2niix_lnx.zip
./dcm2niix
For my machine, the relevant output was:
Linux ryzen 5.4.0-139-generic #156-Ubuntu SMP Fri Jan 20 17:27:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
Chris Rorden's dcm2niiX version v1.0.20220720 (JP2:OpenJPEG) (JP-LS:CharLS) GCC5.5.0 x86-64 (64-bit Linux)
...
Yeah sure thing, if I had a choice I wouldn’t be using CentOS considering its proprietary and now defunct, but its what my admin gives us for the cluster. I also tested on another computer running Rocky Linux 9.1 and did not get this error
Linux 3.10.0-957.27.2.el7.x86_64
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
Thanks. It is challenging providing compiled executables for Linux, as you must compile with libraries at least as old as the users. One solution I have used successfully is holy build box which uses an ancient Linux distribution. However, while this results in very compatible executables, the executables can not take advantage of modern compiler optimizations and one worries about known legacy security vulnerabilities.
I am glad you found a solution.
Perhaps I should update the dcm2niix Github home page to describe minimal compile instructions for linux. The recipe for the latest stable release is:
curl -L -O https://github.com/rordenlab/dcm2niix/archive/master.zip
unzip master.zip
cd dcm2niix-master/console
make
and the recipe for the latest commit to the development branch is:
curl -L -O https://github.com/rordenlab/dcm2niix/archive/development.zip
unzip development.zip
cd dcm2niix-development/console
make