Trying to compile GPUaccelerator.dll fails with with this error:
../GPUAcceleration/../../gtom/include/../src/Optimization/dlib/optimization/../matrix/../assert.h:126:9: note: in definition of macro ‘DLIB_CASSERT’
126 | throw dlib::fatal_error(dlib::EBROKEN_ASSERT,dlib_o_out.str()); \
| ^~~~~
In file included from ../../liblion/src/projector.h:23,
from ../../liblion/src/backprojector.h:31,
from ../../liblion/liblion.h:7,
from ../GPUAcceleration/FFT.cpp:2:
../../liblion/src/fftw.h: In instantiation of ‘void relion::FourierTransformer::FourierTransform(T&, T1&, bool) [with T = relion::MultidimArray<float>; T1 = relion::MultidimArray<relion::Complex>]’:
../GPUAcceleration/FFT.cpp:16:54: required from here
../../liblion/src/fftw.h:208:11: error: no matching function for call to ‘relion::FourierTransformer::setReal(relion::MultidimArray<float>&)’
208 | setReal(v);
| ~~~~~~~^~~
../../liblion/src/fftw.h:373:8: note: candidate: ‘void relion::FourierTransformer::setReal(relion::MultidimArray<double>&)’
373 | void setReal(MultidimArray<DOUBLE> &img);
| ^~~~~~~
../../liblion/src/fftw.h:373:39: note: no known conversion for argument 1 from ‘relion::MultidimArray<float>’ to ‘relion::MultidimArray<double>&’
373 | void setReal(MultidimArray<DOUBLE> &img);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
../../liblion/src/fftw.h:380:8: note: candidate: ‘void relion::FourierTransformer::setReal(relion::MultidimArray<relion::Complex>&)’
380 | void setReal(MultidimArray<Complex > &img);
| ^~~~~~~
../../liblion/src/fftw.h:380:41: note: no known conversion for argument 1 from ‘relion::MultidimArray<float>’ to ‘relion::MultidimArray<relion::Complex>&’
380 | void setReal(MultidimArray<Complex > &img);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../liblion/src/fftw.h: In instantiation of ‘void relion::FourierTransformer::inverseFourierTransform(T&, T1&) [with T = relion::MultidimArray<relion::Complex>; T1 = relion::MultidimArray<float>]’:
../GPUAcceleration/FFT.cpp:36:54: required from here
../../liblion/src/fftw.h:238:11: error: no matching function for call to ‘relion::FourierTransformer::setReal(relion::MultidimArray<float>&)’
238 | setReal(v);
| ~~~~~~~^~~
../../liblion/src/fftw.h:373:8: note: candidate: ‘void relion::FourierTransformer::setReal(relion::MultidimArray<double>&)’
373 | void setReal(MultidimArray<DOUBLE> &img);
| ^~~~~~~
So this seems to be an issue with single and double precision fftw. On the host platform, I do have both, single and double precision fftw. It's not clear to me how to fix that.
Compiling of WarpLib.dll fails with
Microsoft (R) Visual C# Compiler version 2.8.2.62916 (2ad4aabc)
Copyright (C) Microsoft Corporation. All rights reserved.
error CS0006: Metadata file 'Accord.dll' could not be found
error CS0006: Metadata file 'Accord.Math.dll' could not be found
error CS0006: Metadata file 'Accord.Math.Core.dll' could not be found
error CS0006: Metadata file 'MathNet.Numerics.dll' could not be found
error CS0006: Metadata file 'BitMiracle.LibTiff.NET.dll' could not be found
As a consequence, compiling of WarpCraft.dll fails with a similar message plus WarpLib
error CS0006: Metadata file 'WarpLib.dll' could not be found.
I'm trying to compile warpcraft for GNU/Linux but I fail with two different issues.
The machine I'm working was has Debian11 (gcc 10.2), cuda/11.4.4, mono/5.20. I've tried to follow all instructions in:
https://github.com/cramerlab/warpcraft/issues/2 https://github.com/cramerlab/warpcraft/issues/3 https://github.com/cramerlab/warp/issues/5
Compiling of liblion and gtom seems to work fine.
Trying to compile GPUaccelerator.dll fails with with this error:
So this seems to be an issue with single and double precision fftw. On the host platform, I do have both, single and double precision fftw. It's not clear to me how to fix that.
Compiling of WarpLib.dll fails with
As a consequence, compiling of WarpCraft.dll fails with a similar message plus WarpLib error CS0006: Metadata file 'WarpLib.dll' could not be found.
Do you have any suggestions how to fix this ?