2,652
edits
(→XDS package for Macs with Apple M processors: fix typo) Tags: Mobile edit Mobile web edit Advanced mobile edit |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
This article has | This article has information that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). It is assumed that binaries (or links to binaries) should go to /usr/local/bin . This means that you should do this as the administrator (root), or have sudo rights (Mac, and some Linux distros). | ||
Line 41: | Line 41: | ||
Since XDSGUI depends on graphics packages that may need to be installed, you can check the xdsgui binary with | Since XDSGUI depends on graphics packages that may need to be installed, you can check the xdsgui binary with | ||
ldd `which xdsgui` | grep found | ldd `which xdsgui` | grep found | ||
and that should show you the libraries | and that should show you the libraries it didn't find. Your friendly system administrator knows the specific commands to install those libraries. | ||
N.B. this may list libpng15.so for the latest XDSGUI (compiled May 2023), but you can ignore that! | |||
For RedHat-type distributions, that would typically be e.g. | For RedHat-type distributions, that would typically be e.g. | ||
Line 53: | Line 55: | ||
sudo apt-file update | sudo apt-file update | ||
Ubuntu 20.04: If the Qt5 libraries are missing, use <code>sudo apt install libqt5gui5 libqt5printsupport5 libqt5opengl5</code>. | Versions of XDSGUI compiled before 2021: Ubuntu 20.04: If the Qt5 libraries are missing, use <code>sudo apt install libqt5gui5 libqt5printsupport5 libqt5opengl5</code>. On CentOS7, this would be <code>yum -y install qt5-qtbase-gui qt5-qtbase</code> . | ||
On | On Ubuntu, latest XDSGUI may require <code>sudo apt install libxcb-xinerama0</code> | ||
<code>xxdiff</code> is likely available for your distribution - google for it, or try e.g. | <code>xxdiff</code> is likely available for your distribution - google for it, or try e.g. | ||
Line 80: | Line 82: | ||
As an alternative that does not require root for installation, one may create a directory $HOME/bin and use that for the programs and links. Also, this requires modification of the $PATH, by a one-time | As an alternative that does not require root for installation, one may create a directory $HOME/bin and use that for the programs and links. Also, this requires modification of the $PATH, by a one-time | ||
mkdir $HOME/bin | mkdir $HOME/bin | ||
echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile | echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile | ||
=== [[XDS]] package for Intel Macs === | === [[XDS]] package for Intel Macs === | ||
Line 94: | Line 96: | ||
(If you don't have root privileges and run in $HOME/bin, only the curl and ln commands have to be run) | (If you don't have root privileges and run in $HOME/bin, only the curl and ln commands have to be run) | ||
Starting with macOS Catalina, you may also need | Starting with macOS Catalina, you may also need | ||
sudo xattr -dr XDS-OSX_64 | sudo xattr -dr com.apple.quarantine XDS-OSX_64 | ||
if you get a security error popup (google "xattr com.apple.quarantine catalina"). | if you get a security error popup (google "xattr com.apple.quarantine catalina"). | ||
Line 117: | Line 119: | ||
# release root permissions: | # release root permissions: | ||
exit | exit | ||
As explained above, you may need | |||
sudo xattr -d com.apple.quarantine XDS-Apple_M1/* | |||
if you get a security-related popup saying that Apple cannot verify the software. | |||
If you want to process .h5 files written by Eiger detectors, use the [https://{{SERVERNAME}}/pub/mac_bin/durin-plugin-Apple-arm64.so Durin plugin for Apple ARM64 processors] (source code [https://github.com/DiamondLightSource/durin available]) or the [https://{{SERVERNAME}}/pub/mac_bin/dectris-neggia-Apple-arm64.so Dectris-Neggia plugin for Apple ARM64 processors] (source code [https://github.com/dectris/neggia available]). The latter may be faster, but does not work on data collected at Diamond Light Source. The former should in principle work for all HDF5 data. | If you want to process .h5 files written by Eiger detectors, use the [https://{{SERVERNAME}}/pub/mac_bin/durin-plugin-Apple-arm64.so Durin plugin for Apple ARM64 processors] (source code [https://github.com/DiamondLightSource/durin available]) or the [https://{{SERVERNAME}}/pub/mac_bin/dectris-neggia-Apple-arm64.so Dectris-Neggia plugin for Apple ARM64 processors] (source code [https://github.com/dectris/neggia available]). The latter may be faster, but does not work on data collected at Diamond Light Source. The former should in principle work for all HDF5 data. | ||
Line 147: | Line 153: | ||
... can be downloaded from https://{{SERVERNAME}}/pub/mac_bin/ . A simple way to obtain them is is to open a Terminal, and type: | ... can be downloaded from https://{{SERVERNAME}}/pub/mac_bin/ . A simple way to obtain them is is to open a Terminal, and type: | ||
sudo su | sudo su | ||
which asks for the password and gives you administrator permissions. Then, | which asks for the password and gives you administrator permissions. Then, for Intel Macs, | ||
# any folder would do; here we use /usr/local/bin/mac_bin | # any folder would do; here we use /usr/local/bin/mac_bin | ||
mkdir -p /usr/local/bin/mac_bin | mkdir -p /usr/local/bin/mac_bin | ||
Line 154: | Line 160: | ||
chmod +x get_folder.sh | chmod +x get_folder.sh | ||
./get_folder.sh | ./get_folder.sh | ||
For Silicon Macs, | |||
# any folder would do; here we use /usr/local/bin/mac_bin | |||
mkdir -p /usr/local/bin/mac_bin | |||
cd /usr/local/bin/mac_bin | |||
curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder_silicon.sh | |||
chmod +x get_folder_silicon.sh | |||
./get_folder_silicon.sh | |||
After that, release root privileges: | |||
exit | exit | ||
If you want to update the programs some time later, just run these commands again. | If you want to update the programs some time later, just run these commands again. | ||
In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> script | In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> (or <code>get_folder_silicon.sh</code>) script | ||
# copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code> | # copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code> . NOTE that the names of the native libraries for the Apple Silicon Macs ends with *-Apple-arm64.so . On Silicon Macs you can either use the Intel binaries for XDSGUI and XDS, or the Silicon binaries - the latter are recommended. You could in principle mix them but then you have to be careful with what you enter in the LIB= line of XDS.INP; and what you enter in Menu/Preferences/Paths/generic library of XDSGUI. | ||
# copies [https://www.globalphasing.com GlobalPhasing's] <code>hdf2mini-cbf</code> into <code>/usr/local/bin</code>, but under the name <code>H5ToXds</code> (consider getting a [https://www.globalphasing.com/autoproc/ autoPROC] license!) | # copies [https://www.globalphasing.com GlobalPhasing's] <code>hdf2mini-cbf</code> into <code>/usr/local/bin</code>, but under the name <code>H5ToXds</code> (consider getting a [https://www.globalphasing.com/autoproc/ autoPROC] license!) | ||
# copies <code>h5dump</code> [https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.1/bin/unix/hdf5-1.12.1-Std-macos11_64-clang.tar.gz] into <code>/usr/local/bin</code> | # copies <code>h5dump</code> [https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.1/bin/unix/hdf5-1.12.1-Std-macos11_64-clang.tar.gz] into <code>/usr/local/bin</code> | ||
A [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.13.dmg 10.13] Qt5 version of XDS-viewer (compiled by T. Hauß) works on macOS Catalina, and is installed by <code>get_folder.sh</code>. Older Macs need [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-0.6.dmg this version]; newer macOS should install [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.15.dmg 10.15]. For XDSGUI, the | A [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.13.dmg 10.13] Qt5 version of XDS-viewer (compiled by T. Hauß) works on macOS Catalina, and is installed by <code>get_folder.sh</code>. Older Macs need [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-0.6.dmg this version]; newer macOS should install [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.15.dmg 10.15]. | ||
For XDSGUI, you have a choice between the version for Intel Macs and that for Silicon Macs. Both do work on Silicon Macs, except for the plugin libraries - for these, the correct version (ending with -Apple-arm64.so) must be used together with xdsgui_mac_silicon. | |||
Lastly, it is useful (for e.g. XDSGUI) to install <code>xxdiff</code> . This used to be available from http://furius.ca/downloads/xxdiff/releases/macosx/ , but is also [https://{{SERVERNAME}}/pub/mac_bin/xxdiff-4.0b1.osx.dmg here]. I had to go to System Preferences > Security & Privacy > Privacy and add <code>xxdiff</code> to the programs with full disk access. | Lastly, it is useful (for e.g. XDSGUI) to install <code>xxdiff</code> . This used to be available from http://furius.ca/downloads/xxdiff/releases/macosx/ , but is also [https://{{SERVERNAME}}/pub/mac_bin/xxdiff-4.0b1.osx.dmg here]. I had to go to System Preferences > Security & Privacy > Privacy and add <code>xxdiff</code> to the programs with full disk access. |