Installation: Difference between revisions

Jump to navigation Jump to search
m
Tags: Mobile edit Mobile web edit Advanced mobile edit
 
(14 intermediate revisions by 2 users not shown)
Line 9: Line 9:




This article has some little script snippets 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).
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 34: Line 34:


As root, the script copies the programs into /usr/local/bin/linux_bin, and links them to /usr/local/bin. As a normal user, they are downloaded to $HOME/bin/linux_bin, and linked to your $HOME/bin. In the latter case, make sure that $HOME/bin is in your $PATH.
As root, the script copies the programs into /usr/local/bin/linux_bin, and links them to /usr/local/bin. As a normal user, they are downloaded to $HOME/bin/linux_bin, and linked to your $HOME/bin. In the latter case, make sure that $HOME/bin is in your $PATH.
The Qt5 graphics library is now the default for xdsgui and xds-viewer. Qt4 versions are available as xdsgui.qt4 and xds-viewer.qt4, for old Linux distributions (and for use with x2goclient, which would otherwise need [https://wiki.x2go.org/doku.php/wiki:development:glx-xlib-workaround special action] for Qt5 binaries).


=== tools and helper programs for [[generate_XDS.INP]] and [[XDSGUI]], and libraries ===
=== tools and helper programs for [[generate_XDS.INP]] and [[XDSGUI]], and libraries ===
Line 43: 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 it it didn't find. Your friendly system administrator will then work out the specific commands to install those 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 55: Line 55:
   sudo apt-file update
   sudo apt-file update


Ubuntu 18.04: if libQtOpenGL.so.4 is missing, use <code>sudo apt install libqt4-opengl</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> .


Ubuntu 20.04: if libQtOpenGL.so.4 is missing (for the Qt4 binary of [[XDSGUI]]), use
On Ubuntu, latest XDSGUI may require <code>sudo apt install libxcb-xinerama0</code>
sudo add-apt-repository -y ppa:rock-core/qt4
sudo apt update
sudo apt install libqt4-opengl
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> .


<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 88: 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' >> ~/.profile
  echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile
  echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile</code>


=== [[XDS]] package for Intel Macs ===
=== [[XDS]] package for Intel Macs ===
Line 103: 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 116: Line 109:
==== XDS package for Macs with Apple M processors ====
==== XDS package for Macs with Apple M processors ====


The Intel Mac XDS programs also work on the Apple Silicon machines, but the libraries for e.g. reading data from Eiger detectors don't, and the native binaries are faster.
The Intel Mac XDS programs also work on the Apple Silicon machines, but the plugin libraries (see below) for e.g. reading data from Eiger detectors don't, and the native binaries are faster.


Thus, change the above <code>curl</code> and <code>ln</code> commands to
Thus, change the above <code>curl</code> and <code>ln</code> commands to
  # become root (it will ask for your password):
  # become root (it will ask for your password):
  sudo su
  sudo su
cd /usr/local/bin
  curl -L -o - https://xds.mr.mpg.de/XDS-Apple_M1.tar.gz | tar xzvf -
  curl -L -o - https://xds.mr.mpg.de/XDS-Apple_M1.tar.gz | tar xzvf -
  ln -sf XDS-Apple_M1/* .
  ln -sf XDS-Apple_M1/* .
  # 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 155: 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 162: Line 160:
  chmod +x get_folder.sh
  chmod +x get_folder.sh
  ./get_folder.sh
  ./get_folder.sh
Release root privileges:
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> (see above for Neggia and Durin on M1 Macs; the script does not yet handle this automatically)
# 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 [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt4.dmg Qt4 version] is still the default, but a [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg Qt5 version] is available (but needs Qt5 libraries!).
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.
2,652

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu