[Rtk-users] IRTK compiling problems

Simon Rit simon.rit at creatis.insa-lyon.fr
Thu Oct 18 11:45:23 CEST 2012


Marta,
Sorry, while we were working on compiling RTK for you there has been
some other commits that may have caused the problem. Could you give it
another try now?
It should be fixed according to the dashboard:
http://my.cdash.org/index.php?project=RTK
Simon

On Wed, Oct 17, 2012 at 4:37 PM, Marta Peroni
<marta.peroni at mail.polimi.it> wrote:
> Hi Simon!
> don't worry, I'm glad I can be useful for testing...
> yet another gcc issue I believe:
> [ 73%] Building C object
> applications/rtkbackprojections/CMakeFiles/rtkbackprojections.dir/rtkbackprojections_ggo.c.o
> Linking CXX executable ../../bin/rtkbackprojections
> CMakeFiles/rtkbackprojections.dir/rtkbackprojections.cxx.o: In function
> `rtk::CudaFDKBackProjectionImageFilter::New()':
> rtkbackprojections.cxx:(.text._ZN3rtk32CudaFDKBackProjectionImageFilter3NewEv[_ZN3rtk32CudaFDKBackProjectionImageFilter3NewEv]+0x18):
> undefined reference to `typeinfo for rtk::CudaFDKBackProjectionImageFilter'
> rtkbackprojections.cxx:(.text._ZN3rtk32CudaFDKBackProjectionImageFilter3NewEv[_ZN3rtk32CudaFDKBackProjectionImageFilter3NewEv]+0xc9):
> undefined reference to
> `rtk::CudaFDKBackProjectionImageFilter::CudaFDKBackProjectionImageFilter()'
> CMakeFiles/rtkbackprojections.dir/rtkbackprojections.cxx.o: In function
> `rtk::CudaBackProjectionImageFilter::New()':
> rtkbackprojections.cxx:(.text._ZN3rtk29CudaBackProjectionImageFilter3NewEv[_ZN3rtk29CudaBackProjectionImageFilter3NewEv]+0x18):
> undefined reference to `typeinfo for rtk::CudaBackProjectionImageFilter'
> rtkbackprojections.cxx:(.text._ZN3rtk29CudaBackProjectionImageFilter3NewEv[_ZN3rtk29CudaBackProjectionImageFilter3NewEv]+0xc9):
> undefined reference to
> `rtk::CudaBackProjectionImageFilter::CudaBackProjectionImageFilter()'
> collect2: error: ld returned 1 exit status
> make[2]: *** [bin/rtkbackprojections] Error 1
> make[1]: ***
> [applications/rtkbackprojections/CMakeFiles/rtkbackprojections.dir/all]
> Error 2
>
> make: *** [all] Error 2
>
>
> I'll let you know very soon about the windows thing...I remember that we
> tried to compile without installing gengetopt and it was not compiling it
> automatically. Let me give it another shot...
> Marta
>
> On 17 October 2012 16:18, Simon Rit <simon.rit at creatis.insa-lyon.fr> wrote:
>>
>> The other linux compile errors have been fixed, they were caused by
>> the recent gcc that you seem to be using. Sorry for this hassle, we do
>> not have tested all possible combinations of gccs yet...
>>
>> From your CMakeCache.txt, it seems that you have gengetopt installed here:
>> C:/Program Files (x86)/GnuWin32/bin/gengetopt.exe
>> A way to solve this would be to remove it from the Windows path so
>> that cmake doesn't use it because gengetopt code has been copied in
>> RTK and will be compiled automatically if it's not in the path. In the
>> future, we should check on gengetopt version and compile it
>> automatically if the system version is too old. I have opened a bug:
>> http://kingkong.grid.creatis.insa-lyon.fr:9002/issues/1707
>> This should fix the gengetopt enum errors but I still have to figure
>> out the linking problem if it's still here. It's strange that it does
>> not show up on my windows box...
>>
>> Simon
>>
>> On Wed, Oct 17, 2012 at 3:08 PM, Marta Peroni
>> <marta.peroni at mail.polimi.it> wrote:
>> > Hi Simon!
>> > that fixed the error thanks :) But I am afraid I have another one....
>> > (log_linux attached hed).
>> > I also send you the CMakeCache.txt, but I am afraid your intuition might
>> > be
>> > right...
>> > For windows, where do you get the gengeopt? just to make sure we are
>> > up-to-date
>> > thanks a lot
>> > Marta
>> >
>> >
>> > On 17 October 2012 14:56, Simon Rit <simon.rit at creatis.insa-lyon.fr>
>> > wrote:
>> >>
>> >> Hi Marta,
>> >>
>> >> Yes still ITK 3.20, see instructions here:
>> >> http://wiki.openrtk.org/index.php/RTK/Users.
>> >> I fixed the linux error, a commit of 2 days ago was causing it.
>> >> I don't, however, understand some of your windows errors. It seems
>> >> that it does not understand the ggo files with enum variables although
>> >> this has been working on Windows and Linux so far. A potential
>> >> explanation would be that you have installed an old version of
>> >> gengetopt on your computer? Maybe you can send me your CMakeCache.txt
>> >> to help me fixing it? You mentioned a problem with getopt.h in your
>> >> first email but I did not see it in the log.
>> >> There is also a linking problem with Cuda that your CMakeCache.txt
>> >> might help me to understand.
>> >> Thanks,
>> >> Simon
>> >>
>> >> On Wed, Oct 17, 2012 at 9:53 AM, Marta Peroni
>> >>
>> >> <marta.peroni at mail.polimi.it> wrote:
>> >> > Hi!
>> >> > sorry that it took soo long to answer.
>> >> > For windows:
>> >> > compiler is Visual Studio Express 2008 and we are using Windows 7
>> >> > (see
>> >> > log_windows attached)
>> >> >
>> >> > For Linux:
>> >> > I downloaded the latest version from here:
>> >> > https://github.com/SimonRit/RTK
>> >> > and tried to compile against ITK 3.20 (should I try with ITK4?)
>> >> > Got over the usual nvcc error, but still could not compile
>> >> > unfortunately
>> >> > (see log_linux attached)
>> >> >
>> >> > thanks a lot
>> >> > Marta
>> >> >
>> >> > On 12 October 2012 11:19, Simon Rit <simon.rit at creatis.insa-lyon.fr>
>> >> > wrote:
>> >> >>
>> >> >> Hi Marta,
>> >> >> Thanks for the feedback. Yes, we would be interested in knowing what
>> >> >> are the problems with getopt.h. Could you send us more information
>> >> >> (logs, Windows version, compiler, ...)?
>> >> >> Regarding Cuda, this is a bit of a weird problem. I have tried to
>> >> >> merge the latest version of Plastimatch cmake files with rtk. Could
>> >> >> you update your RTK repository and give it another try?
>> >> >> A simple Shepp Logan reconstruction example is available here
>> >> >> http://wiki.openrtk.org/index.php/RTK/Scripts/FDK, code examples are
>> >> >> available here http://wiki.openrtk.org/index.php/RTK/Users.
>> >> >> Good luck,
>> >> >> Simon
>> >> >>
>> >> >> On Fri, Oct 12, 2012 at 1:42 AM, Marta Peroni
>> >> >> <marta.peroni at mail.polimi.it> wrote:
>> >> >> > Dear Simon and David,
>> >> >> > was a pleasure to meet you at MICCAI. As I mentioned, we are
>> >> >> > looking
>> >> >> > into
>> >> >> > acquiring CBCT on robotic C-arm at CNAO and as you suggested, we
>> >> >> > had
>> >> >> > a
>> >> >> > look
>> >> >> > at IRTK.
>> >> >> >
>> >> >> > Now, problem is that we were not able to compile it neither on
>> >> >> > windows
>> >> >> > nor
>> >> >> > linux (arch distrib).
>> >> >> >
>> >> >> > For windows, main issues were related to the windows version of
>> >> >> > getopt
>> >> >> > which
>> >> >> > generate syntax error (Marco can provide you a log file, if you'd
>> >> >> > like).
>> >> >> >
>> >> >> > For linux, I had cuda problem. In particular, although correctly
>> >> >> > configured,
>> >> >> > I am stuck with this:
>> >> >> > [  7%] Building NVCC (Device) object
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > code/CMakeFiles/cuda_compile.dir//./cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.o
>> >> >> > /usr/include/surface_functions.h: In function 'void surf1Dread(T*,
>> >> >> > surface<void, 1>, int, int, cudaSurfaceBoundaryMode)':
>> >> >> > /usr/include/surface_functions.h:100: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf1Dreadc1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf1Dreadc1' must be available
>> >> >> > /usr/include/surface_functions.h:100: error: (if you use
>> >> >> > '-fpermissive',
>> >> >> > G++
>> >> >> > will accept your code, but allowing the use of an undeclared name
>> >> >> > is
>> >> >> > deprecated)
>> >> >> > /usr/include/surface_functions.h:101: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf1Dreads1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf1Dreads1' must be available
>> >> >> > /usr/include/surface_functions.h:102: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf1Dreadu1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf1Dreadu1' must be available
>> >> >> > /usr/include/surface_functions.h:103: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf1Dreadu2' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf1Dreadu2' must be available
>> >> >> > /usr/include/surface_functions.h:104: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf1Dreadu4' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf1Dreadu4' must be available
>> >> >> > /usr/include/surface_functions.h: In function 'void surf2Dread(T*,
>> >> >> > surface<void, 2>, int, int, int, cudaSurfaceBoundaryMode)':
>> >> >> > /usr/include/surface_functions.h:460: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf2Dreadc1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf2Dreadc1' must be available
>> >> >> > /usr/include/surface_functions.h:461: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf2Dreads1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf2Dreads1' must be available
>> >> >> > /usr/include/surface_functions.h:462: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf2Dreadu1' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf2Dreadu1' must be available
>> >> >> > /usr/include/surface_functions.h:463: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf2Dreadu2' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf2Dreadu2' must be available
>> >> >> > /usr/include/surface_functions.h:464: error: there are no
>> >> >> > arguments
>> >> >> > to
>> >> >> > '__surf2Dreadu4' that depend on a template parameter, so a
>> >> >> > declaration
>> >> >> > of
>> >> >> > '__surf2Dreadu4' must be available
>> >> >> > CMake Error at
>> >> >> > cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.o.cmake:252
>> >> >> > (message):
>> >> >> >   Error generating file
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > /home/marta/provaIRTK/build/code/CMakeFiles/cuda_compile.dir//./cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.o
>> >> >> >
>> >> >> >
>> >> >> > make[2]: ***
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > [code/CMakeFiles/cuda_compile.dir/./cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.o]
>> >> >> > Error 1
>> >> >> > make[1]: *** [code/CMakeFiles/rtkcuda.dir/all] Error 2
>> >> >> > make: *** [all] Error 2
>> >> >> >
>> >> >> > I remember having the same issue in plastimatch some time ago (it
>> >> >> > is
>> >> >> > due
>> >> >> > to
>> >> >> > cuda version) and James added some -fpermissive to fix the issue.
>> >> >> >
>> >> >> > But anyhow, can you please guide us through a compilation to make
>> >> >> > it
>> >> >> > work
>> >> >> > and test it on the new projections?
>> >> >> >
>> >> >> > thanks a lot
>> >> >> > Best Regards,
>> >> >> > Marta Peroni
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> >
>> >> >> > *******************************************************************
>> >> >> > Marta Peroni, PhD
>> >> >> > Bioengineering department - Politecnico di Milano (IT)
>> >> >> >
>> >> >> > contacts:
>> >> >> > mail: marta.peroni at mail.polimi.it , m.peroni at gmail.com
>> >> >> > mobile: +393488202136 (IT)
>> >> >> > office: +39 02 2399 9022
>> >> >> >
>> >> >> >
>> >> >> > ********************************************************************
>> >> >> >
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > *******************************************************************
>> >> > Marta Peroni, PhD
>> >> > Bioengineering department - Politecnico di Milano (IT)
>> >> >
>> >> > contacts:
>> >> > mail: marta.peroni at mail.polimi.it , m.peroni at gmail.com
>> >> > mobile: +393488202136 (IT)
>> >> > office: +39 02 2399 9022
>> >> >
>> >> > ********************************************************************
>> >> >
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > *******************************************************************
>> > Marta Peroni, PhD
>> > Bioengineering department - Politecnico di Milano (IT)
>> >
>> > contacts:
>> > mail: marta.peroni at mail.polimi.it , m.peroni at gmail.com
>> > mobile: +393488202136 (IT)
>> > office: +39 02 2399 9022
>> >
>> > ********************************************************************
>> >
>>
>>
>
>
>
> --
> *******************************************************************
> Marta Peroni, PhD
> Bioengineering department - Politecnico di Milano (IT)
>
> contacts:
> mail: marta.peroni at mail.polimi.it , m.peroni at gmail.com
> mobile: +393488202136 (IT)
> office: +39 02 2399 9022
>
> ********************************************************************
>



More information about the Rtk-users mailing list