Comments (21)
Just for completion, I checked that just by removing --std=c++11 from
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++11")
in cmake/BuildTypes.cmake does not fix the compilation problem.
Thank YOU very much for fixing it. What you do is extremely appreciated !
from relion.
I'm really sorry about that. But I was not deleting and recreating the build2 directory every time.
I did it now and if I change the cmake/BuildTypes.cmake to have
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++14")
instead of
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++11")
it works.
from relion.
You should not put sudo
. It is necessary only for the last step, make install
.
Did you make sure you deactivate conda before running cmake
and make
?
from relion.
You should not put
sudo
. It is necessary only for the last step,make install
.Did you make sure you deactivate conda before running
cmake
andmake
?
I also try to install without "sudo". The same problem occurs. In addition, I did deactivate conda before running 'cmake' and 'make'
from relion.
Hi, I had the same problem during compilation of relion5. My workaround was to edit the CMakeLists.txt and replace 14 by 11 for the stdc++ options (lines 78 and 387).
from relion.
As explained in the document, RELION 5.0 needs C++14 standard. Using C++11 might cause unexpected problems.
-- The C compiler identification is GNU 11.4.0
GCC 11.4 supports C++14.
However, nvcc
might be picking up an older GCC installed somewhere else.
It is also possible that you are using a GCC binary at one location but using header files for another version of GCC at another place.
from relion.
Thanks ! I reverted to c++14 and I got another (better?) workaround (worked for me) by adding:
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} --std c++14")
to the CMakeLists.txt after line 387
set(CMAKE_CXX_FLAGS "-fPIC -std=c++14 ${CMAKE_CXX_FLAGS}")
from relion.
This might be related to another unresolved problem #1032.
from relion.
Thanks ! I reverted to c++14 and I got another (better?) workaround (worked for me) by adding:
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} --std c++14")
to the CMakeLists.txt after line 387
set(CMAKE_CXX_FLAGS "-fPIC -std=c++14 ${CMAKE_CXX_FLAGS}")
This works for me. Thanks!
from relion.
Thanks for trying to fix this. However, after I did a "git pull" today (I saw the changes you did) I got the following the error(s) at the second "make -j 4" step:
(PS: The only differences between my system and the one of ShixinYang is that I have cuda 12.3 and driver 545.23.08)
============================================================
#>cmake -DPYTHON_EXE_PATH=/home/estrozi/miniconda3/envs/relion-5.0/bin/python3 ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
-- BUILD TYPE set to the default type: 'Release'
-- Setting fallback CUDA_ARCH=50
-- CUDA enabled - Building CUDA-accelerated version of RELION
-- Setting cpu precision to double
-- Setting accelerated code precision to single
-- Using cuda wrapper to compile....
-- Cuda version is >= 7.5 and single-precision build, enable double usage warning.
-- MPI_INCLUDE_PATH : /usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
-- MPI_LIBRARIES : /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
-- MPI_CXX_INCLUDE_PATH : /usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
-- MPI_CXX_LIBRARIES : /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
-- CMAKE_C_COMPILER : /usr/bin/cc
-- CMAKE_CXX_COMPILER : /usr/bin/c++
-- MPI_C_COMPILER : /usr/bin/mpicc
-- MPI_CXX_COMPILER : /usr/bin/mpicxx
-- CMAKE_CXX_COMPILER_ID : GNU
-- Could NOT find FLTK (missing: FLTK_LIBRARIES)
-- No FLTK installation was found
-- Found previously built non-system FLTK libraries that will be used.
-- FLTK_INCLUDE_DIR: /home/estrozi/relion5/relion/external/fltk/include
-- FLTK_LIBRARIES: /home/estrozi/relion5/relion/external/fltk/lib/libfltk.so
-- Found FFTW
-- FFTW_PATH: /usr/include
-- FFTW_INCLUDES: /usr/include
-- FFTW_LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so;/usr/lib/x86_64-linux-gnu/libfftw3.so
-- Using Python executable: /home/estrozi/miniconda3/envs/relion-5.0/bin/python3
-- Will try to find Torch home directory...
-- Using Torch home: /home/estrozi/.cache/torch
-- Will attempts to download model weights for dependent packages...
Attempting to download weights for class ranker...
Model (v1.0) loaded successfully from checkpoint /home/estrozi/.cache/torch/hub/checkpoints/relion_class_ranker/v1.0.ckpt
No project directory was specified... exiting!
Attempting to download weights for Blush...
Blush model (v1.0) loaded successfully from checkpoint /home/estrozi/.cache/torch/hub/checkpoints/relion_blush/v1.0.ckpt
No job target was specified for Blush regularization... exiting!
Attempting to download weights for ModelAngelo...
Please make sure you have set the environment variable TORCH_HOME
to a suitable directory, visible to all relevant users!
Successful!
Path to model is /home/estrozi/.cache/torch/hub/checkpoints/model_angelo_v1.0/nucleotides
Please make sure you have set the environment variable TORCH_HOME
to a suitable directory, visible to all relevant users!
Successful!
Path to model is /home/estrozi/.cache/torch/hub/checkpoints/model_angelo_v1.0/nucleotides_no_seq
-- Successfully downloaded model weights
-- Building static libs (larger build size and binaries)
Running apps/CMakeLists.txt...
-- CMAKE_BINARY_DIR:/home/estrozi/relion5/relion/build2
-- Git commit ID: ebebfde
-- CMAKE_C_FLAGS : -std=c99 -fopenmp
-- CMAKE_CXX_FLAGS : -fPIC -std=c++14 -fopenmp
-- Configuring done
-- Generating done
-- Build files have been written to: /home/estrozi/relion5/relion/build2
#>make -j 4
[ 0%] Building NVCC (Device) object src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/relion_jaz_gpu_util_generated_test00.cu.o
[ 0%] Built target copy_scripts
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(86): error: statement may not appear in a constexpr function
typename iterator_traits<_InputIterator>::difference_type __n = 0;
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(89): error: statement may not appear in a constexpr function
++__first;
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(90): error: statement may not appear in a constexpr function
++__n;
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(87): error: statement may not appear in a constexpr function
while (__first != __last)
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(147): error: a constexpr function cannot have a nonliteral return type "void"
__advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(158): error: a constexpr function cannot have a nonliteral return type "void"
__advance(_BidirectionalIterator& __i, _Distance __n,
^
/usr/include/c++/11/bits/stl_iterator_base_funcs.h(174): error: a constexpr function cannot have a nonliteral return type "void"
__advance(_RandomAccessIterator& __i, _Distance __n,
^
/usr/include/c++/11/bits/stl_algobase.h(235): error: statement may not appear in a constexpr function
if (__b < __a)
^
/usr/include/c++/11/bits/stl_algobase.h(237): error: a constexpr function must contain exactly one return statement
return __a;
^
/usr/include/c++/11/bits/stl_algobase.h(259): error: statement may not appear in a constexpr function
if (__a < __b)
^
/usr/include/c++/11/bits/stl_algobase.h(261): error: a constexpr function must contain exactly one return statement
return __a;
^
/usr/include/c++/11/bits/stl_algobase.h(281): error: statement may not appear in a constexpr function
if (__comp(__b, __a))
^
/usr/include/c++/11/bits/stl_algobase.h(283): error: a constexpr function must contain exactly one return statement
return __a;
^
/usr/include/c++/11/bits/stl_algobase.h(303): error: statement may not appear in a constexpr function
if (__comp(__a, __b))
^
/usr/include/c++/11/bits/stl_algobase.h(305): error: a constexpr function must contain exactly one return statement
return __a;
^
/usr/include/c++/11/bits/char_traits.h(102): error: a constexpr function cannot have a nonliteral return type "void"
assign(char_type& __c1, const char_type& __c2)
^
/usr/include/c++/11/bits/char_traits.h(161): error: a constexpr function must contain exactly one return statement
return 1;
^
/usr/include/c++/11/bits/char_traits.h(160): error: statement may not appear in a constexpr function
else if (lt(__s2[__i], __s1[__i]))
^
/usr/include/c++/11/bits/char_traits.h(158): error: statement may not appear in a constexpr function
if (lt(__s1[__i], __s2[__i]))
^
/usr/include/c++/11/bits/char_traits.h(157): error: statement may not appear in a constexpr function
for (std::size_t __i = 0; __i < __n; ++__i)
^
/usr/include/c++/11/bits/char_traits.h(162): error: a constexpr function must contain exactly one return statement
return 0;
^
/usr/include/c++/11/bits/char_traits.h(170): error: statement may not appear in a constexpr function
std::size_t __i = 0;
^
/usr/include/c++/11/bits/char_traits.h(172): error: statement may not appear in a constexpr function
++__i;
^
/usr/include/c++/11/bits/char_traits.h(171): error: statement may not appear in a constexpr function
while (!eq(__p[__i], char_type()))
^
/usr/include/c++/11/bits/char_traits.h(182): error: statement may not appear in a constexpr function
if (eq(__s[__i], __a))
^
/usr/include/c++/11/bits/char_traits.h(181): error: statement may not appear in a constexpr function
for (std::size_t __i = 0; __i < __n; ++__i)
^
/usr/include/c++/11/bits/char_traits.h(184): error: a constexpr function must contain exactly one return statement
return 0;
^
/usr/include/c++/11/bits/stl_function.h(432): error: statement may not appear in a constexpr function
if (__builtin_is_constant_evaluated())
^
/usr/include/c++/11/bits/stl_function.h(438): error: a constexpr function must contain exactly one return statement
return (long unsigned int)__x > (long unsigned int)__y;
^
/usr/include/c++/11/bits/stl_function.h(451): error: statement may not appear in a constexpr function
if (__builtin_is_constant_evaluated())
^
/usr/include/c++/11/bits/stl_function.h(457): error: a constexpr function must contain exactly one return statement
return (long unsigned int)__x < (long unsigned int)__y;
^
/usr/include/c++/11/bits/stl_function.h(470): error: statement may not appear in a constexpr function
if (__builtin_is_constant_evaluated())
^
/usr/include/c++/11/bits/stl_function.h(476): error: a constexpr function must contain exactly one return statement
return (long unsigned int)__x >= (long unsigned int)__y;
^
/usr/include/c++/11/bits/stl_function.h(489): error: statement may not appear in a constexpr function
if (__builtin_is_constant_evaluated())
^
/usr/include/c++/11/bits/stl_function.h(495): error: a constexpr function must contain exactly one return statement
return (long unsigned int)__x <= (long unsigned int)__y;
^
/usr/include/c++/11/bits/stl_function.h(551): error: expected an identifier
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(551): error: "auto" is not allowed here
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(552): error: expected a ";"
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^
/usr/include/c++/11/bits/stl_function.h(570): error: a template argument list is not allowed in a declaration of a primary template
struct __not_overloaded2<_Tp, _Up, __void_t<
^
/usr/include/c++/11/bits/stl_function.h(576): error: __not_overloaded2 is not a template
struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
^
/usr/include/c++/11/bits/stl_function.h(613): error: expected an identifier
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(613): error: "auto" is not allowed here
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(614): error: expected a ";"
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^
/usr/include/c++/11/bits/stl_function.h(632): error: a template argument list is not allowed in a declaration of a primary template
struct __not_overloaded2<_Tp, _Up, __void_t<
^
/usr/include/c++/11/bits/stl_function.h(638): error: __not_overloaded2 is not a template
struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
^
/usr/include/c++/11/bits/stl_function.h(675): error: expected an identifier
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(675): error: "auto" is not allowed here
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(676): error: expected a ";"
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^
/usr/include/c++/11/bits/stl_function.h(694): error: a template argument list is not allowed in a declaration of a primary template
struct __not_overloaded2<_Tp, _Up, __void_t<
^
/usr/include/c++/11/bits/stl_function.h(700): error: __not_overloaded2 is not a template
struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
^
/usr/include/c++/11/bits/stl_function.h(737): error: expected an identifier
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(737): error: "auto" is not allowed here
static constexpr decltype(auto)
^
/usr/include/c++/11/bits/stl_function.h(738): error: expected a ";"
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^
/usr/include/c++/11/bits/stl_function.h(756): error: a template argument list is not allowed in a declaration of a primary template
struct __not_overloaded2<_Tp, _Up, __void_t<
^
/usr/include/c++/11/bits/stl_function.h(762): error: __not_overloaded2 is not a template
struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
^
/usr/include/c++/11/bits/stl_construct.h(146): error: a constexpr function cannot have a nonliteral return type "void"
_Destroy(_Tp* __pointer)
^
/usr/include/c++/11/bits/alloc_traits.h(251): error: statement may not appear in a constexpr function
{ __a.construct(__p, std::forward<_Args>(__args)...); }
^
/usr/include/c++/11/bits/alloc_traits.h(261): error: statement may not appear in a constexpr function
::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
^
/usr/include/c++/11/bits/alloc_traits.h(272): error: statement may not appear in a constexpr function
{ __a.destroy(__p); }
^
/usr/include/c++/11/bits/alloc_traits.h(276): error: a constexpr function cannot have a nonliteral return type "void"
_S_destroy(_Alloc2&, _Tp* __p, ...)
^
/usr/include/c++/11/bits/alloc_traits.h(678): error: a constexpr function cannot have a nonliteral return type "void"
__alloc_on_copy(_Alloc& __one, const _Alloc& __two)
^
/usr/include/c++/11/bits/alloc_traits.h(710): error: a constexpr function cannot have a nonliteral return type "void"
__alloc_on_move(_Alloc& __one, _Alloc& __two)
^
/usr/include/c++/11/bits/alloc_traits.h(737): error: a constexpr function cannot have a nonliteral return type "void"
__alloc_on_swap(_Alloc& __one, _Alloc& __two)
^
/usr/include/c++/11/ext/alloc_traits.h(85): error: statement may not appear in a constexpr function
_Base_type::construct(__a, std::__to_address(__p),
^
/usr/include/c++/11/ext/alloc_traits.h(95): error: statement may not appear in a constexpr function
{ _Base_type::destroy(__a, std::__to_address(__p)); }
^
/usr/include/c++/11/ext/alloc_traits.h(100): error: a constexpr function cannot have a nonliteral return type "void"
static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
^
/usr/include/c++/11/bits/charconv.h(52): error: statement may not appear in a constexpr function
unsigned __n = 1;
^
/usr/include/c++/11/bits/charconv.h(53): error: statement may not appear in a constexpr function
const unsigned __b2 = __base * __base;
^
/usr/include/c++/11/bits/charconv.h(54): error: statement may not appear in a constexpr function
const unsigned __b3 = __b2 * __base;
^
/usr/include/c++/11/bits/charconv.h(55): error: statement may not appear in a constexpr function
const unsigned long __b4 = __b3 * __base;
^
/usr/include/c++/11/bits/charconv.h(58): error: statement may not appear in a constexpr function
if (__value < (unsigned)__base) return __n;
^
/usr/include/c++/11/bits/charconv.h(59): error: a constexpr function must contain exactly one return statement
if (__value < __b2) return __n + 1;
^
/usr/include/c++/11/bits/charconv.h(59): error: statement may not appear in a constexpr function
if (__value < __b2) return __n + 1;
^
/usr/include/c++/11/bits/charconv.h(60): error: a constexpr function must contain exactly one return statement
if (__value < __b3) return __n + 2;
^
/usr/include/c++/11/bits/charconv.h(60): error: statement may not appear in a constexpr function
if (__value < __b3) return __n + 2;
^
/usr/include/c++/11/bits/charconv.h(61): error: a constexpr function must contain exactly one return statement
if (__value < __b4) return __n + 3;
^
/usr/include/c++/11/bits/charconv.h(61): error: statement may not appear in a constexpr function
if (__value < __b4) return __n + 3;
^
/usr/include/c++/11/bits/charconv.h(62): error: statement may not appear in a constexpr function
__value /= __b4;
^
/usr/include/c++/11/bits/charconv.h(63): error: statement may not appear in a constexpr function
__n += 4;
^
/usr/include/c++/11/bits/charconv.h(56): error: statement may not appear in a constexpr function
for (;;)
^
80 errors detected in the compilation of "/home/estrozi/relion5/relion/src/jaz/cuda/test00.cu".
CMake Error at relion_jaz_gpu_util_generated_test00.cu.o.Release.cmake:280 (message):
Error generating file
/home/estrozi/relion5/relion/build2/src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/./relion_jaz_gpu_util_generated_test00.cu.o
make[2]: *** [src/apps/CMakeFiles/relion_jaz_gpu_util.dir/build.make:341: src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/relion_jaz_gpu_util_generated_test00.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:411: src/apps/CMakeFiles/relion_jaz_gpu_util.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
from relion.
Did you delete your old build directory before running cmake
?
Please also paste the result of grep CUDA_NVCC_FLAGS CMakeCache.txt
.
from relion.
No, I was making a "build2" folder.
Here is the grep result:
===========================
#>grep CUDA_NVCC_FLAGS CMakeCache.txt
CUDA_NVCC_FLAGS:STRING=
CUDA_NVCC_FLAGS_BENCHMARKING:STRING='-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 '
CUDA_NVCC_FLAGS_DEBUG:STRING=-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11
CUDA_NVCC_FLAGS_MINSIZEREL:STRING=
CUDA_NVCC_FLAGS_PROFILING:STRING=-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 -lineinfo
CUDA_NVCC_FLAGS_RELEASE:STRING=-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 --disable-warnings
CUDA_NVCC_FLAGS_RELWITHDEBINFO:STRING=-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11
//ADVANCED property for variable: CUDA_NVCC_FLAGS
CUDA_NVCC_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_DEBUG
CUDA_NVCC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_MINSIZEREL
CUDA_NVCC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELEASE
CUDA_NVCC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELWITHDEBINFO
CUDA_NVCC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
from relion.
Did you revert your manual changes to files (if any)?
If the problem persists, what happens if you remove --std=c++11
from
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++11")
in cmake/BuildTypes.cmake
?
from relion.
Or, change the above line to:
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++14")
This is basically the same as your solution; before my commit today, variables set in BuildTypes.cmake
were not properly passed to the compiler. This is why you had to set it in CMakeList.txt
before.
from relion.
Yes, I removed my manual change from CMakeList.txt
If I remove the --std=c++11 or if I replace by c++14 in cmake/BuildTypes.cmake I got the same errors.
from relion.
That is very strange... Did you delete your build directory for every trial?
The fact that you have
CUDA_NVCC_FLAGS_RELEASE:STRING=-arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 --disable-warnings
indicates that my commit today is working properly.
Can you run VERBOSE=1 make -j1
and paste the last line containing nvcc
?
That is the command actually executed. We would like to see what compiler options are passed to NVCC.
from relion.
I have been working inside a new build2 directory. I never deleted my working (and still under use) original build directory (compilation fixed with my workarround).
I checked that the fact that I change that line in cmake/BuildTypes.cmake does not seem to have any effect on the CMakeCache.txt created.
With VERBOSE=1 I got the following nvcc command:
/usr/local/cuda/bin/nvcc /home/estrozi/relion5/relion/src/jaz/cuda/test00.cu -c -o /home/estrozi/relion5/relion/build2/src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/./relion_jaz_gpu_util_generated_test00.cu.o -ccbin /usr/bin/cc -m64 -DINSTALL_LIBRARY_DIR=/usr/local/lib/ -DSOURCE_DIR=/home/estrozi/relion5/relion/src/ -DACC_HIP=3 -DACC_CUDA=2 -DACC_CPU=1 -D_CUDA_ENABLED -DHAVE_SINCOS -DHAVE_TIFF -DHAVE_PNG -DHAVE_JPEG -Xcompiler ,"-fPIC","-std=c++14","-fopenmp","-O3","-DNDEBUG" -arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 --disable-warnings -DNVCC -I/usr/local/cuda/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/home/estrozi/relion5/relion -I/usr/include -I/home/estrozi/relion5/relion/external/fltk/include -I/usr/include/x86_64-linux-gnu
from relion.
By executing the command above with the option --std=c++11 replaced by --std=c++14 makes it pass.
from relion.
or if I change the "Xcompiler" from -std=c++14 to -std=c++11 and keep the --std=c++11. It also passes.
from relion.
I have been working inside a new build2 directory. I never deleted my working (and still under use) original build directory (compilation fixed with my workarround).
This is OK but please remove everything inside the build2
directory before you try a new condition.
/usr/local/cuda/bin/nvcc /home/estrozi/relion5/relion/src/jaz/cuda/test00.cu -c -o /home/estrozi/relion5/relion/build2/src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/./relion_jaz_gpu_util_generated_test00.cu.o -ccbin /usr/bin/cc -m64 -DINSTALL_LIBRARY_DIR=/usr/local/lib/ -DSOURCE_DIR=/home/estrozi/relion5/relion/src/ -DACC_HIP=3 -DACC_CUDA=2 -DACC_CPU=1 -D_CUDA_ENABLED -DHAVE_SINCOS -DHAVE_TIFF -DHAVE_PNG -DHAVE_JPEG -Xcompiler ,"-fPIC","-std=c++14","-fopenmp","-O3","-DNDEBUG" -arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --std=c++11 --disable-warnings -DNVCC -I/usr/local/cuda/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/home/estrozi/relion5/relion -I/usr/include -I/home/estrozi/relion5/relion/external/fltk/include -I/usr/include/x86_64-linux-gnu
Does it still say --std=c++11
after you change BuildTypes.cmake
to c++14, remove everything inside build2
and run cmake
?
set(EXTRA_NVCC_FLAGS "-D__INTEL_COMPILER --default-stream per-thread --std=c++14")
By executing the command above with the option --std=c++11 replaced by --std=c++14 makes it pass.
What happens if you remove --std=c++11
outside Xcompiler
?
That is:
/usr/local/cuda/bin/nvcc /home/estrozi/relion5/relion/src/jaz/cuda/test00.cu -c -o /home/estrozi/relion5/relion/build2/src/apps/CMakeFiles/relion_jaz_gpu_util.dir/__/jaz/cuda/./relion_jaz_gpu_util_generated_test00.cu.o -ccbin /usr/bin/cc -m64 -DINSTALL_LIBRARY_DIR=/usr/local/lib/ -DSOURCE_DIR=/home/estrozi/relion5/relion/src/ -DACC_HIP=3 -DACC_CUDA=2 -DACC_CPU=1 -D_CUDA_ENABLED -DHAVE_SINCOS -DHAVE_TIFF -DHAVE_PNG -DHAVE_JPEG -Xcompiler ,"-fPIC","-std=c++14","-fopenmp","-O3","-DNDEBUG" -arch=sm_50 -D__INTEL_COMPILER --default-stream per-thread --disable-warnings -DNVCC -I/usr/local/cuda/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/home/estrozi/relion5/relion -I/usr/include -I/home/estrozi/relion5/relion/external/fltk/include -I/usr/include/x86_64-linux-gnu
from relion.
Thank you very much for testing. I pushed this change to the repository.
from relion.
Related Issues (20)
- pandas key error on 'global' reading star file HOT 3
- ModelAngelo relion ModuleNotFoundError HOT 3
- Bayesian polishing aborting with mpi issues HOT 3
- Relion (v4 or v5) crashing after resuming Refine3D from optimiser.star HOT 4
- DynaMight running issue "Index tensor must have the same number of dimensions as self tensor" HOT 3
- Relion 4.0.0 initial 3D GPU/noGPU refinement doesn't seem to put multiple threads to different CPUs HOT 2
- Relion5 Beta DynaMight deformed backprojection error HOT 3
- Optimizing 2D classification and selection in schemes HOT 1
- MultiBody refinement MPI message truncated Error - relion 5.0 HOT 2
- Relion 5.0 fails to reconstruct tomograms after tilt-series alignment HOT 10
- Function remove_duplicate in star_handler HOT 1
- Refine3D starting from 1/2 maps doesn't appear to initialise references from 1/2 map 2. HOT 7
- relion 5 refinement failed with memory issue HOT 18
- somthing wrong while installing HOT 3
- some problem in auto-refine HOT 5
- Relion-5.0: ImportTomo fails to unbin coordinates of particles
- Blush not applied when continuing classification from optimiser.star
- Relion-5.0: GPU memory errors in Class3D on subtomograms HOT 7
- Relion-5.0 Tomo relion_python_tomo_view error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from relion.