3dem / relion

Image-processing software for cryo-electron microscopy
https://relion.readthedocs.io/en/latest/
GNU General Public License v2.0
453 stars 202 forks source link

CUDA 11.6 build error? #871

Closed anaphaze closed 2 years ago

anaphaze commented 2 years ago

I installed CUDA 11 to use the newer A40 (Ampere) GPUs. To make a long story short, it seems that some versions of RELION cannot be built with CUDA 11.6, but are okay with 11.2. The following summarizes what combinations work and what don't:

Environment (Overall):

Environment (Build = SUCCESS):

Environment (Build = SUCCESS):

Environment (Build = FAILURE):

P.S. I know that RELION 3.0.8 is no longer supported, but I need to keep it functional for my lab's current workflows; it also serves as a "control" for any future workflows. Hopefully, this bug report is useful to anyone else who needs to maintain legacy software, especially when the older pre-Ampere GPUs are no longer available.

Error message: Based on my understanding of previous bug reports, the key line contains "CUB":

/usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.

The full log is:

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BUILD TYPE set to the default type:  'Release'
-- Setting fallback CUDA_ARCH=35
-- ALLOW_CTF_IN_SAGD enabled - This build of RELION allows modulation of particle images by a contrast transfer function inside stochastic average gradient descent, as specified in Claim 1 of patent US10,282,513B2
-- CUDA enabled - Building CUDA-accelerated version of RELION
-- Setting cpu precision to double
-- Setting accelerated code precision to single
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found version "11.6")
-- Using cuda wrapper to compile....
-- Cuda version is >= 7.5 and single-precision build, enable double usage warning.
-- Found MPI_C: /mnt/prog/mpi/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /mnt/prog/mpi/lib/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- MPI_INCLUDE_PATH : /mnt/prog/mpi/include
-- MPI_LIBRARIES : /mnt/prog/mpi/lib/libmpi.so
-- MPI_CXX_INCLUDE_PATH : /mnt/prog/mpi/include
-- MPI_CXX_LIBRARIES : /mnt/prog/mpi/lib/libmpi.so
-- CMAKE_C_COMPILER : /usr/bin/cc
-- CMAKE_CXX_COMPILER : /usr/bin/c++
-- MPI_C_COMPILER : /mnt/prog/mpi/bin/mpicc
-- MPI_CXX_COMPILER : /mnt/prog/mpi/bin/mpicxx
-- CMAKE_CXX_COMPILER_ID : GNU
-- CMAKE_C_COMPILER : /mnt/prog/mpi/bin/mpicc
-- CMAKE_CXX_COMPILER : /mnt/prog/mpi/bin/mpicxx
-- MPI_C_COMPILER : /mnt/prog/mpi/bin/mpicc
-- MPI_CXX_COMPILER : /mnt/prog/mpi/bin/mpicxx
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- --------------------------------------------------------
-- -------- NO EXISTING FLTK LIBRARIES WHERE FOUND. -------
-- -------------- FLTK WILL BE DOWNLOADED AND -------------
-- --------------- BUILT DURING COMPILE-TIME. -------------
-- --------------------------------------------------------
-- ---- A WORKING INTERNET CONNECTION WILL BE REQUIRED. ---
-- --------------------------------------------------------
-- no previous fltk found, the following paths are set for libs/headers TO BE built
-- FLTK_INCLUDE_DIR: /home/dbsganl/linux/relion-3.1.2/external/fltk/include
-- FLTK_LIBRARIES:   /home/dbsganl/linux/relion-3.1.2/external/fltk/lib/libfltk.so
-- Found FFTW
-- FFTW_PATH: /usr/include
-- FFTW_INCLUDES: /usr/include
-- FFTW_LIBRARIES: /usr/local/lib/libfftw3f.so;/usr/local/lib/libfftw3.so
-- Looking for sincos
-- Looking for sincos - found
-- Looking for __sincos
-- Looking for __sincos - not found
-- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (found version "4.0.9")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34")
BUILD_SHARED_LIBS = OFF
-- Building static libs (larger build size and binaries)
Running apps/CMakeLists.txt...
-- CMAKE_BINARY_DIR:/home/dbsganl/linux/relion-3.1.2/build
-- Git commit ID: 44d57634c042d240c9449227ca3bc5e3481d8b14
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dbsganl/linux/relion-3.1.2/build
dbsganl@gpu4:~/linux/relion-3.1.2/build$ make -j24
Scanning dependencies of target copy_scripts
Scanning dependencies of target OWN_FLTK
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector.cu.o
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_autopicker.cu.o
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_backprojector.cu.o
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/cuda_kernels/relion_gpu_util_generated_helper.cu.o
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_helper_functions.cu.o
[  2%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_benchmark_utils.cu.o
[  2%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_ml_optimiser.cu.o
[  3%] Creating directories for 'OWN_FLTK'
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[  3%] Built target copy_scripts
[  3%] Performing download step (download, verify and extract) for 'OWN_FLTK'
-- Downloading...
   dst='/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk-1.3.5-source.tar.gz'
   timeout='none'
-- Using src='ftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/fltk-1.3.5-source.tar.gz'
In file included from /usr/local/cuda/include/thrust/system/cuda/config.h:33:0,
                 from /usr/local/cuda/include/thrust/system/cuda/detail/execution_policy.h:35,
                 from /usr/local/cuda/include/thrust/iterator/detail/device_system_tag.h:23,
                 from /usr/local/cuda/include/thrust/iterator/detail/iterator_facade_category.h:22,
                 from /usr/local/cuda/include/thrust/iterator/iterator_facade.h:37,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/../iterator/arg_index_input_iterator.cuh:48,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/device_reduce.cuh:41,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_utils_cub.cuh:16,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_projector_plan.cu:10:
/usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
 #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
  ^~~~~
In file included from /usr/local/cuda/include/thrust/system/cuda/config.h:33:0,
                 from /usr/local/cuda/include/thrust/system/cuda/detail/execution_policy.h:35,
                 from /usr/local/cuda/include/thrust/iterator/detail/device_system_tag.h:23,
                 from /usr/local/cuda/include/thrust/iterator/detail/iterator_facade_category.h:22,
                 from /usr/local/cuda/include/thrust/iterator/iterator_facade.h:37,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/../iterator/arg_index_input_iterator.cuh:48,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/device_reduce.cuh:41,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_utils_cub.cuh:16,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_helper_functions.cu:15:
/usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
 #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
  ^~~~~
In file included from /usr/local/cuda/include/thrust/system/cuda/config.h:33:0,
                 from /usr/local/cuda/include/thrust/system/cuda/detail/execution_policy.h:35,
                 from /usr/local/cuda/include/thrust/iterator/detail/device_system_tag.h:23,
                 from /usr/local/cuda/include/thrust/iterator/detail/iterator_facade_category.h:22,
                 from /usr/local/cuda/include/thrust/iterator/iterator_facade.h:37,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/../iterator/arg_index_input_iterator.cuh:48,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/device_reduce.cuh:41,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_utils_cub.cuh:16,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_ml_optimiser.cu:36:
/usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
 #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
  ^~~~~
In file included from /usr/local/cuda/include/thrust/system/cuda/config.h:33:0,
                 from /usr/local/cuda/include/thrust/system/cuda/detail/execution_policy.h:35,
                 from /usr/local/cuda/include/thrust/iterator/detail/device_system_tag.h:23,
                 from /usr/local/cuda/include/thrust/iterator/detail/iterator_facade_category.h:22,
                 from /usr/local/cuda/include/thrust/iterator/iterator_facade.h:37,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/../iterator/arg_index_input_iterator.cuh:48,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cub/device/device_reduce.cuh:41,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_utils_cub.cuh:16,
                 from /home/dbsganl/linux/relion-3.1.2/src/acc/cuda/cuda_autopicker.cu:29:
/usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
 #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
  ^~~~~
CMake Error at relion_gpu_util_generated_cuda_projector_plan.cu.o.Release.cmake:219 (message):
  Error generating
  /home/dbsganl/linux/relion-3.1.2/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o

src/apps/CMakeFiles/relion_gpu_util.dir/build.make:105: recipe for target 'src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o' failed
make[2]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMake Error at relion_gpu_util_generated_cuda_ml_optimiser.cu.o.Release.cmake:219 (message):
  Error generating
  /home/dbsganl/linux/relion-3.1.2/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_ml_optimiser.cu.o

src/apps/CMakeFiles/relion_gpu_util.dir/build.make:91: recipe for target 'src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_ml_optimiser.cu.o' failed
make[2]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_ml_optimiser.cu.o] Error 1
CMake Error at relion_gpu_util_generated_cuda_autopicker.cu.o.Release.cmake:219 (message):
  Error generating
  /home/dbsganl/linux/relion-3.1.2/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_autopicker.cu.o

src/apps/CMakeFiles/relion_gpu_util.dir/build.make:63: recipe for target 'src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_autopicker.cu.o' failed
make[2]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_autopicker.cu.o] Error 1
CMake Error at relion_gpu_util_generated_cuda_helper_functions.cu.o.Release.cmake:219 (message):
  Error generating
  /home/dbsganl/linux/relion-3.1.2/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_helper_functions.cu.o

src/apps/CMakeFiles/relion_gpu_util.dir/build.make:84: recipe for target 'src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_helper_functions.cu.o' failed
make[2]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_helper_functions.cu.o] Error 1
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'sm_35', and 'sm_37' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
-- [download 3% complete]
-- [download 4% complete]
-- [download 5% complete]
-- [download 6% complete]
-- [download 7% complete]
-- [download 8% complete]
-- [download 9% complete]
-- [download 10% complete]
-- [download 11% complete]
-- [download 12% complete]
-- [download 13% complete]
-- [download 14% complete]
-- [download 15% complete]
-- [download 16% complete]
-- [download 17% complete]
-- [download 18% complete]
-- [download 19% complete]
-- [download 20% complete]
-- [download 21% complete]
-- [download 22% complete]
-- [download 23% complete]
-- [download 24% complete]
-- [download 25% complete]
-- [download 26% complete]
-- [download 27% complete]
-- [download 28% complete]
-- [download 29% complete]
-- [download 30% complete]
-- [download 31% complete]
-- [download 32% complete]
-- [download 33% complete]
-- [download 34% complete]
-- [download 35% complete]
-- [download 36% complete]
-- [download 37% complete]
-- [download 38% complete]
-- [download 39% complete]
-- [download 40% complete]
-- [download 41% complete]
-- [download 42% complete]
-- [download 43% complete]
-- [download 44% complete]
-- [download 45% complete]
-- [download 46% complete]
-- [download 47% complete]
-- [download 48% complete]
-- [download 49% complete]
-- [download 50% complete]
-- [download 51% complete]
-- [download 52% complete]
-- [download 53% complete]
-- [download 54% complete]
-- [download 55% complete]
-- [download 56% complete]
-- [download 57% complete]
-- [download 58% complete]
-- [download 59% complete]
-- [download 60% complete]
-- [download 61% complete]
-- [download 62% complete]
-- [download 63% complete]
-- [download 64% complete]
-- [download 65% complete]
-- [download 66% complete]
-- [download 67% complete]
-- [download 68% complete]
-- [download 69% complete]
-- [download 70% complete]
-- [download 71% complete]
-- [download 72% complete]
-- [download 73% complete]
-- [download 74% complete]
-- [download 75% complete]
-- [download 76% complete]
-- [download 77% complete]
-- [download 78% complete]
-- [download 79% complete]
-- [download 80% complete]
-- [download 81% complete]
-- [download 82% complete]
-- [download 83% complete]
-- [download 84% complete]
-- [download 85% complete]
-- [download 86% complete]
-- [download 87% complete]
-- [download 88% complete]
-- [download 89% complete]
-- [download 90% complete]
-- [download 91% complete]
-- [download 92% complete]
-- [download 93% complete]
-- [download 94% complete]
-- [download 95% complete]
-- [download 96% complete]
-- [download 97% complete]
-- [download 98% complete]
-- [download 99% complete]
-- [download 100% complete]
CMakeFiles/Makefile2:872: recipe for target 'src/apps/CMakeFiles/relion_gpu_util.dir/all' failed
make[1]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
-- verifying file...
       file='/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk-1.3.5-source.tar.gz'
-- Downloading... done
-- extracting...
     src='/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk-1.3.5-source.tar.gz'
     dst='/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[  4%] No patch step for 'OWN_FLTK'
[  4%] No update step for 'OWN_FLTK'
[  4%] Performing configure step for 'OWN_FLTK'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking if the compiler supports -fvisibility... yes
checking if the compiler supports -fvisibility-inlines-hidden... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for nroff... /usr/bin/nroff
checking for doxygen... no
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for windres... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking whether byte ordering is bigendian... no
checking whether the compiler recognizes bool as a built-in type... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/stdtypes.h usability... no
checking sys/stdtypes.h presence... no
checking for sys/stdtypes.h... no
checking whether we have the POSIX compatible scandir() prototype... yes
checking for vsnprintf... yes
checking for snprintf... yes
checking for strings.h... (cached) yes
checking for strcasecmp... yes
checking for strlcat... no
checking for strlcpy... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for localeconv... yes
checking for library containing pow... -lm
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for long long int... yes
checking for library containing dlsym... -ldl
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking alsa/asoundlib.h usability... no
checking alsa/asoundlib.h presence... no
checking for alsa/asoundlib.h... no
checking for jpeg_CreateCompress in -ljpeg... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for gzgets in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking libpng/png.h usability... yes
checking libpng/png.h presence... yes
checking for libpng/png.h... yes
checking for png_get_valid in -lpng... yes
checking for png_set_tRNS_to_alpha in -lpng... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create using -lpthreads... no
checking for pthread_create using -lpthread... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
configure: WARNING: Ignoring libraries " -lSM -lICE" requested by configure.
checking for library containing dlopen... none required
checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
checking GL/glu.h usability... no
checking GL/glu.h presence... no
checking for GL/glu.h... no
checking for XineramaIsActive in -lXinerama... no
checking for pkg-config... /usr/bin/pkg-config
checking for FcPatternCreate in -lfontconfig... yes
checking X11/Xft/Xft.h usability... yes
checking X11/Xft/Xft.h presence... yes
checking for X11/Xft/Xft.h... yes
checking for XftDrawCreate in -lXft... yes
checking for X11/extensions/Xdbe.h... yes
checking for XdbeQueryExtension in -lXext... yes
checking for X11/extensions/Xfixes.h... no
checking for X11/Xcursor/Xcursor.h... no
checking for X11/extensions/Xrender.h... yes
checking for XRenderQueryVersion in -lXrender... yes
checking for X11/Xregion.h... yes
checking for xprop... /usr/bin/xprop
checking for X overlay visuals... no
checking if GCC supports -fno-exceptions... yes
checking if GCC supports -fno-strict-aliasing... yes
checking if ld supports -no-undefined... yes
checking if ld supports -Bsymbolic-functions... yes
checking if toolchain supports sections... yes

Configuration Summary
-------------------------------------------------------------------------
    Directories: prefix=/home/dbsganl/linux/relion-3.1.2/external/fltk
                 bindir=${exec_prefix}/bin
                 datadir=${datarootdir}
                 datarootdir=${prefix}/share
                 exec_prefix=${prefix}
                 includedir=${prefix}/include
                 libdir=${exec_prefix}/lib
                 mandir=${datarootdir}/man
       Graphics: X11 + Xft + Xdbe + Xrender
Image Libraries: JPEG=System
                 PNG=System
                 ZLIB=System
    Large Files: YES
         OpenGL: NO
        Threads: YES
/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk/configure: line 8838: sort: No such file or directory
/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk/configure: line 8835: sed: No such file or directory
configure: creating ./config.status
config.status: creating makeinclude
config.status: creating fltk.list
config.status: creating fltk-config
config.status: creating fltk.spec
config.status: creating FL/Makefile
config.status: creating config.h
config.status: creating FL/abi-version.h
/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk/configure: line 38: sort: No such file or directory
/home/dbsganl/linux/relion-3.1.2/external/fltk/fltk/configure: line 35: sed: No such file or directory
[  4%] Performing build step for 'OWN_FLTK'
=== making src ===
Compiling Fl.cxx...
Compiling Fl_Adjuster.cxx...
Compiling Fl_Bitmap.cxx...
Compiling Fl_Browser.cxx...
Compiling Fl_Browser_.cxx...
Compiling Fl_Browser_load.cxx...
Compiling Fl_Box.cxx...
Compiling Fl_Button.cxx...
Compiling Fl_Chart.cxx...
Compiling Fl_Check_Browser.cxx...
Compiling Fl_Check_Button.cxx...
Compiling Fl_Choice.cxx...
Compiling Fl_Clock.cxx...
Compiling Fl_Color_Chooser.cxx...
Compiling Fl_Copy_Surface.cxx...
Compiling Fl_Counter.cxx...
Compiling Fl_Dial.cxx...
Compiling Fl_Device.cxx...
Compiling Fl_Double_Window.cxx...
Compiling Fl_File_Chooser2.cxx...
Compiling Fl_File_Input.cxx...
Compiling Fl_File_Icon.cxx...
Compiling Fl_File_Browser.cxx...
Compiling Fl_File_Chooser.cxx...
Compiling Fl_Group.cxx...
Compiling Fl_Help_View.cxx...
Compiling Fl_Image.cxx...
Compiling Fl_Image_Surface.cxx...
Compiling Fl_Input.cxx...
Compiling Fl_Input_.cxx...
Compiling Fl_Light_Button.cxx...
Compiling Fl_Menu.cxx...
Compiling Fl_Menu_.cxx...
Compiling Fl_Menu_Bar.cxx...
Compiling Fl_Menu_Button.cxx...
Compiling Fl_Menu_Window.cxx...
Compiling Fl_Menu_add.cxx...
Compiling Fl_Menu_global.cxx...
Compiling Fl_Multi_Label.cxx...
Compiling Fl_Native_File_Chooser.cxx...
Compiling Fl_Overlay_Window.cxx...
Fl_File_Chooser2.cxx: In member function ‘const char* Fl_File_Chooser::value(int)’:
Fl_File_Chooser2.cxx:1477:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_File_Chooser::value(int f) // I - File number
 ^~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/fl_utf8.h:34,
                 from ../FL/Fl.H:32,
                 from ../FL/Fl_File_Chooser.H:30,
                 from Fl_File_Chooser2.cxx:346:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling Fl_Pack.cxx...
Compiling Fl_Paged_Device.cxx...
Compiling Fl_Pixmap.cxx...
Compiling Fl_PostScript.cxx...
Compiling Fl_Positioner.cxx...
Compiling Fl_Preferences.cxx...
Compiling Fl_Printer.cxx...
Compiling Fl_Progress.cxx...
Compiling Fl_Repeat_Button.cxx...
Fl_File_Chooser2.cxx: In member function ‘void Fl_File_Chooser::fileListCB()’:
Fl_File_Chooser2.cxx:700:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_File_Chooser::fileListCB()
 ^~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/fl_utf8.h:34,
                 from ../FL/Fl.H:32,
                 from ../FL/Fl_File_Chooser.H:30,
                 from Fl_File_Chooser2.cxx:346:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling Fl_Return_Button.cxx...
Compiling Fl_Roller.cxx...
Fl_File_Chooser2.cxx: In member function ‘void Fl_File_Chooser::newdir()’:
Fl_File_Chooser2.cxx:1058:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_File_Chooser::newdir()
 ^~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/fl_utf8.h:34,
                 from ../FL/Fl.H:32,
                 from ../FL/Fl_File_Chooser.H:30,
                 from Fl_File_Chooser2.cxx:346:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling Fl_Round_Button.cxx...
Compiling Fl_Scroll.cxx...
Compiling Fl_Scrollbar.cxx...
Compiling Fl_Shared_Image.cxx...
Fl_File_Chooser2.cxx: In member function ‘void Fl_File_Chooser::fileNameCB()’:
Fl_File_Chooser2.cxx:800:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_File_Chooser::fileNameCB()
 ^~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/fl_utf8.h:34,
                 from ../FL/Fl.H:32,
                 from ../FL/Fl_File_Chooser.H:30,
                 from Fl_File_Chooser2.cxx:346:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling Fl_Single_Window.cxx...
Compiling Fl_Slider.cxx...
Compiling Fl_Table.cxx...
Compiling Fl_Table_Row.cxx...
Compiling Fl_Tabs.cxx...
Compiling Fl_Text_Buffer.cxx...
Compiling Fl_Text_Display.cxx...
Compiling Fl_Text_Editor.cxx...
Compiling Fl_Tiled_Image.cxx...
Compiling Fl_Tile.cxx...
Compiling Fl_Tree.cxx...
Compiling Fl_Tree_Item.cxx...
Compiling Fl_Tree_Item_Array.cxx...
Fl_Help_View.cxx: In member function ‘Fl_Shared_Image* Fl_Help_View::get_image(const char*, int, int)’:
Fl_Help_View.cxx:2781:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_Help_View::get_image(const char *name, int W, int H) {
 ^~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/Fl_Help_View.H:30,
                 from Fl_Help_View.cxx:52:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Fl_Help_View.cxx:2781:1: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
 Fl_Help_View::get_image(const char *name, int W, int H) {
 ^~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/Fl_Help_View.H:30,
                 from Fl_Help_View.cxx:52:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output 2 or more bytes (assuming 2049) into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling Fl_Tree_Prefs.cxx...
Compiling Fl_Tooltip.cxx...
Compiling Fl_Valuator.cxx...
Compiling Fl_Value_Input.cxx...
Compiling Fl_Value_Output.cxx...
Compiling Fl_Value_Slider.cxx...
Compiling Fl_Widget.cxx...
Compiling Fl_Window.cxx...
Compiling Fl_Window_fullscreen.cxx...
Compiling Fl_Window_hotspot.cxx...
Compiling Fl_Window_iconize.cxx...
Compiling Fl_Window_shape.cxx...
Compiling Fl_Wizard.cxx...
Compiling Fl_XBM_Image.cxx...
Compiling Fl_XPM_Image.cxx...
Compiling Fl_abort.cxx...
Compiling Fl_add_idle.cxx...
Compiling Fl_arg.cxx...
Compiling Fl_compose.cxx...
Compiling Fl_display.cxx...
Compiling Fl_get_key.cxx...
Compiling Fl_get_system_colors.cxx...
Compiling Fl_grab.cxx...
Compiling Fl_lock.cxx...
Compiling Fl_own_colormap.cxx...
Compiling Fl_visual.cxx...
Compiling Fl_x.cxx...
Compiling filename_absolute.cxx...
Compiling filename_expand.cxx...
Compiling filename_ext.cxx...
Compiling filename_isdir.cxx...
Compiling filename_list.cxx...
Compiling filename_match.cxx...
Compiling filename_setext.cxx...
Compiling fl_arc.cxx...
Compiling fl_arci.cxx...
Compiling fl_ask.cxx...
Compiling fl_boxtype.cxx...
Compiling fl_color.cxx...
Compiling fl_cursor.cxx...
Compiling fl_curve.cxx...
Compiling fl_diamond_box.cxx...
Compiling fl_dnd.cxx...
Compiling fl_draw.cxx...
Fl_x.cxx: In function ‘KeySym fl_KeycodeToKeysym(Display*, KeyCode, unsigned int)’:
Fl_x.cxx:1322:34: warning: ‘KeySym XKeycodeToKeysym(Display*, KeyCode, int)’ is deprecated [-Wdeprecated-declarations]
   return XKeycodeToKeysym(d, k, i);
                                  ^
In file included from ../FL/fl_utf8.h:65:0,
                 from ../FL/Fl.H:32,
                 from Fl_x.cxx:30:
/usr/include/X11/Xlib.h:1687:15: note: declared here
 extern KeySym XKeycodeToKeysym(
               ^~~~~~~~~~~~~~~~
Compiling fl_draw_image.cxx...
Compiling fl_draw_pixmap.cxx...
Compiling fl_encoding_latin1.cxx...
Compiling fl_encoding_mac_roman.cxx...
Compiling fl_engraved_label.cxx...
Compiling fl_file_dir.cxx...
Compiling fl_font.cxx...
Compiling fl_gleam.cxx...
Compiling fl_gtk.cxx...
Compiling fl_labeltype.cxx...
Compiling fl_line_style.cxx...
Compiling fl_open_uri.cxx...
Compiling fl_oval_box.cxx...
Compiling fl_overlay.cxx...
Compiling fl_overlay_visual.cxx...
Compiling fl_plastic.cxx...
Compiling fl_read_image.cxx...
Compiling fl_rect.cxx...
Compiling fl_round_box.cxx...
Compiling fl_rounded_box.cxx...
Compiling fl_set_font.cxx...
Compiling fl_set_fonts.cxx...
Compiling fl_scroll_area.cxx...
Compiling fl_shadow_box.cxx...
Compiling fl_shortcut.cxx...
Compiling fl_show_colormap.cxx...
Fl_Help_View.cxx: In member function ‘void Fl_Help_View::follow_link(Fl_Help_Link*)’:
Fl_Help_View.cxx:2868:6: warning: ‘%s’ directive output may be truncated writing up to 191 bytes into a region of size between 0 and 2047 [-Wformat-truncation=]
 void Fl_Help_View::follow_link(Fl_Help_Link *linkp)
      ^~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/Fl_Help_View.H:30,
                 from Fl_Help_View.cxx:52:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output between 2 and 2240 bytes into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Fl_Help_View.cxx:2868:6: warning: ‘%s’ directive output may be truncated writing up to 191 bytes into a region of size between 0 and 2047 [-Wformat-truncation=]
 void Fl_Help_View::follow_link(Fl_Help_Link *linkp)
      ^~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from ../FL/Fl_Help_View.H:30,
                 from Fl_Help_View.cxx:52:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note: ‘__builtin___snprintf_chk’ output between 2 and 2240 bytes into a destination of size 2048
        __bos (__s), __fmt, __va_arg_pack ());
                                            ^
Compiling fl_symbols.cxx...
Compiling fl_vertex.cxx...
Compiling screen_xywh.cxx...
Compiling fl_utf8.cxx...
Compiling ps_image.cxx...
Compiling fl_call_main.c...
Compiling flstring.c...
Compiling scandir.c...
Compiling numericsort.c...
Compiling vsnprintf.c...
Compiling fl_utf.c...
Compiling xutf8/case.c...
Compiling xutf8/is_right2left.c...
Compiling xutf8/is_spacing.c...
Compiling xutf8/keysym2Ucs.c...
Compiling xutf8/utf8Input.c...
Compiling xutf8/utf8Utils.c...
Compiling xutf8/utf8Wrap.c...
Compiling forms_compatability.cxx...
Compiling forms_bitmap.cxx...
Compiling forms_free.cxx...
Compiling forms_fselect.cxx...
Compiling forms_pixmap.cxx...
Compiling forms_timer.cxx...
Compiling fl_images_core.cxx...
Compiling Fl_File_Icon2.cxx...
Compiling Fl_BMP_Image.cxx...
Compiling Fl_GIF_Image.cxx...
Compiling Fl_Help_Dialog.cxx...
Compiling Fl_JPEG_Image.cxx...
Compiling Fl_PNG_Image.cxx...
Compiling Fl_PNM_Image.cxx...
/usr/bin/ar cr ../lib/libfltk_forms.a ...
/usr/bin/ar cr ../lib/libfltk_images.a ...
/usr/bin/ar cr ../lib/libfltk.a ...
g++ -L. -Wl,-no-undefined -Wl,-Bsymbolic-functions -Wl,-gc-sections -Wl,-soname,libfltk.so.1.3 -lXrender -lXext -lXft -lfontconfig -lpthread -ldl -lm -lX11 -shared -fPIC -o libfltk.so.1.3 ...
g++ -L. -Wl,-no-undefined -Wl,-Bsymbolic-functions -Wl,-gc-sections -Wl,-soname,libfltk_forms.so.1.3 -lXrender -lXext -lXft -lfontconfig -lpthread -ldl -lm -lX11 -shared -fPIC -o libfltk_forms.so.1.3 ...
g++ -L. -Wl,-no-undefined -Wl,-Bsymbolic-functions -Wl,-gc-sections -Wl,-soname,libfltk_images.so.1.3 -lXrender -lXext -lXft -lfontconfig -lpthread -ldl -lm -lX11 -shared -fPIC -o libfltk_images.so.1.3 ...
=== making fluid ===
Compiling CodeEditor.cxx...
Compiling ExternalCodeEditor_UNIX.cxx...
Compiling ExternalCodeEditor_WIN32.cxx...
Compiling Fl_Function_Type.cxx...
Compiling Fl_Group_Type.cxx...
Compiling Fl_Menu_Type.cxx...
Compiling Fl_Type.cxx...
Compiling Fl_Widget_Type.cxx...
Compiling Fl_Window_Type.cxx...
Compiling Fluid_Image.cxx...
Compiling about_panel.cxx...
Compiling align_widget.cxx...
Compiling alignment_panel.cxx...
Compiling code.cxx...
Compiling factory.cxx...
Compiling file.cxx...
Compiling fluid.cxx...
Compiling function_panel.cxx...
Compiling undo.cxx...
Compiling template_panel.cxx...
Compiling widget_panel.cxx...
Linking fluid-shared...
Linking fluid...
=== making test ===
Compiling unittests.cxx...
Compiling animated.cxx...
Compiling adjuster.cxx...
Compiling arc.cxx...
Compiling ask.cxx...
Compiling bitmap.cxx...
Compiling blocks.cxx...
Compiling boxtype.cxx...
Compiling browser.cxx...
Compiling button.cxx...
Compiling buttons.cxx...
Compiling cairo_test.cxx...
Compiling checkers.cxx...
Compiling colbrowser.cxx...
Compiling clock.cxx...
Compiling color_chooser.cxx...
Compiling cursor.cxx...
Compiling curve.cxx...
Compiling demo.cxx...
Compiling device.cxx...
Compiling doublebuffer.cxx...
Compiling editor.cxx...
Generating fast_slow.h and header from fast_slow.fl...
Generating fast_slow.cxx and header from fast_slow.fl...
Compiling fonts.cxx...
Compiling file_chooser.cxx...
Compiling forms.cxx...
Compiling hello.cxx...
Compiling help.cxx...
Compiling iconize.cxx...
Compiling icon.cxx...
Compiling image.cxx...
Generating inactive.cxx and header from inactive.fl...
Generating inactive.h and header from inactive.fl...
Compiling input.cxx...
Compiling input_choice.cxx...
Generating keyboard_ui.cxx and header from keyboard_ui.fl...
Generating keyboard_ui.h and header from keyboard_ui.fl...
Compiling label.cxx...
Compiling line_style.cxx...
Compiling list_visuals.cxx...
Generating mandelbrot_ui.cxx and header from mandelbrot_ui.fl...
Generating mandelbrot_ui.h and header from mandelbrot_ui.fl...
Compiling menubar.cxx...
Compiling message.cxx...
Compiling minimum.cxx...
Compiling native-filechooser.cxx...
Compiling navigation.cxx...
Compiling offscreen.cxx...
Compiling output.cxx...
Compiling overlay.cxx...
Compiling pack.cxx...
Compiling pixmap.cxx...
Compiling pixmap_browser.cxx...
Generating preferences.cxx and header from preferences.fl...
Generating preferences.h and header from preferences.fl...
Generating radio.cxx and header from radio.fl...
Generating radio.h and header from radio.fl...
Generating resize.cxx and header from resize.fl...
Generating resize.h and header from resize.fl...
Compiling rotated_text.cxx...
Compiling resizebox.cxx...
Compiling scroll.cxx...
Compiling subwindow.cxx...
Compiling sudoku.cxx...
Compiling symbols.cxx...
Compiling table.cxx...
Generating tabs.cxx and header from tabs.fl...
Generating tabs.h and header from tabs.fl...
Compiling threads.cxx...
Compiling tile.cxx...
Compiling tiled_image.cxx...
Generating tree.cxx and header from tree.fl...
Generating tree.h and header from tree.fl...
Compiling twowin.cxx...
Generating valuators.cxx and header from valuators.fl...
Generating valuators.h and header from valuators.fl...
Compiling utf8.cxx...
Compiling windowfocus.cxx...
Linking animated...
Linking adjuster...
Linking arc...
Linking ask...
Linking bitmap...
Linking boxtype...
Linking browser...
Linking button...
Linking buttons...
Linking cairo_test...
Linking clock...
Linking colbrowser...
Linking color_chooser...
Linking cursor...
Linking curve...
Linking demo...
Linking doublebuffer...
Linking editor...
Compiling fast_slow.cxx...
Linking file_chooser...
Linking fonts...
Linking forms...
Linking hello...
Linking help...
Linking icon...
Linking iconize...
Linking image...
Compiling inactive.cxx...
Linking input...
Linking input_choice...
Compiling keyboard_ui.cxx...
Compiling keyboard.cxx...
Linking label...
Linking line_style...
Linking list_visuals...
Compiling mandelbrot_ui.cxx...
Compiling mandelbrot.cxx...
Linking menubar...
Linking message...
Linking minimum...
Linking native-filechooser...
Linking navigation...
Linking offscreen...
Linking output...
Linking overlay...
Linking pack...
Linking pixmap...
Linking pixmap_browser...
Compiling preferences.cxx...
Compiling radio.cxx...
Compiling resize.cxx...
Linking resizebox...
Linking rotated_text...
Linking scroll...
Linking subwindow...
Linking sudoku...
Linking symbols...
Linking table...
Compiling tabs.cxx...
Linking threads...
Linking tile...
Linking tiled_image...
Compiling tree.cxx...
Linking twowin...
Compiling valuators.cxx...
Linking utf8...
Linking windowfocus...
Linking unittests...
Linking blocks...
Linking checkers...
Linking device...
Linking fast_slow...
Linking inactive...
Linking keyboard...
Linking mandelbrot...
Linking preferences...
Linking radio...
Linking resize...
Linking tabs...
Linking valuators...
Linking tree...
=== making documentation ===
Formatting src/fltk.man...
Formatting src/fltk-config.man...
Formatting src/fluid.man...
Formatting src/blocks.man...
Formatting src/sudoku.man...
Formatting src/checkers.man...
[  4%] Performing install step for 'OWN_FLTK'
=== installing FL ===
Installing include files in /home/dbsganl/linux/relion-3.1.2/external/fltk/include...
=== installing src ===
Installing libraries in /home/dbsganl/linux/relion-3.1.2/external/fltk/lib...
=== installing fluid ===
Installing FLUID in /home/dbsganl/linux/relion-3.1.2/external/fltk/bin...
=== installing test ===
Installing example programs to /home/dbsganl/linux/relion-3.1.2/external/fltk/share/doc/fltk/examples...
=== installing documentation ===
Installing documentation files in /home/dbsganl/linux/relion-3.1.2/external/fltk/share/doc/fltk ...
Installing man pages in /home/dbsganl/linux/relion-3.1.2/external/fltk/share/man ...
[  4%] Completed 'OWN_FLTK'
[  4%] Built target OWN_FLTK
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
biochem-fan commented 2 years ago

Thank you very much for your extensive tests.

I have two comments.

  1. Cannot you run a binary compiled with CUDA 11.2 on your Ampere machine? The binary won't use new hardware features introduced in Ampere, but should run fine.
  2. git cherry-pick 980c2a656 might fix the problem. See https://github.com/3dem/relion/commit/980c2a656d5ca2a3bb80cc1152e542f2b189589d.
anaphaze commented 2 years ago

Thanks -- after the current jobs finish, I'll do a "clean" 11.6 install and try your suggestions. Hopefully your second suggestion works because it sounds more future-proof for when CUDA12 / Hopper / Lovelace get released.

biochem-fan commented 2 years ago

Remember newer hardware is backward-compatible with earlier binaries as long as the binary contains PTX (RELION does). You don't have to use the latest SDK for compilation. You needs the latest SDK only when you want to use the latest hardware features (, which RELION does not use anyway).

You cannot use older drivers for new cards, but you can use older SDKs for compilation.

anaphaze commented 2 years ago

Thanks for the additional advice on backwards compatability. I have tested both of your suggestions and they both work. The test environments are:

1. The machine has CUDA 11.6

2. RELION 3.0.8 & 3.1.2 built with CUDA 11.6 with modified 980c2a6 This patch works but the hash before the comment should be a double forward slash: Build fails: #define CUB_NS_QUALIFIER ::cub # for compatibility with CUDA 11.5 Build succeeds: #define CUB_NS_QUALIFIER ::cub // for compatibility with CUDA 11.5 This line is in the RELION 3.1.3 and 4.0 beta code, but not in previous versions, which perfectly explains all the build failures in my original test.

Our of curiousity, I tested if there is forward compatability. The job failed, but I'll still leave the key error message here in case someone in the future accidentally runs code that is built on a newer CUDA SDK than they have on their machine: 3. The machine has CUDA 10.2

ERROR: CUDA driver version is insufficient for CUDA runtime version in /home/dbsganl/linux/relion-3.0.8_cub/src/ml_optimiser_mpi.cpp at line 128 (error-code 35)

biochem-fan commented 2 years ago

This patch works but the hash before the comment should be a double forward slash:

Correct. We had to cherry-pick https://github.com/3dem/relion/commit/554e0ed993e5ac8a3fee4be7c5cf64a62216a8c7 as well (this fixes the "#" sign).