pyushkevich / c3d

Convert3D tool
GNU General Public License v3.0
32 stars 16 forks source link

Compilation problem on Fedora #1

Open alcir opened 4 years ago

alcir commented 4 years ago

Trying to compile on Fedora 31, I get

...
$ make
Scanning dependencies of target markdown_to_hex
[  1%] Building C object CMakeFiles/markdown_to_hex.dir/utilities/hexdump.c.o
[  2%] Linking C executable markdown_to_hex
[  2%] Built target markdown_to_hex
Scanning dependencies of target markdown_docs
[  3%] Generating markdown_docs.h
[  3%] Built target markdown_docs
Scanning dependencies of target cnd_driver
[  4%] Building CXX object CMakeFiles/cnd_driver.dir/ConvertImageND.cxx.o
In file included from /usr/include/InsightToolkit/itkNumericTraits.h:51,
                 from /usr/include/InsightToolkit/itkConceptChecking.h:32,
                 from /usr/include/InsightToolkit/itkAtomicIntDetail.h:39,
                 from /usr/include/InsightToolkit/itkAtomicInt.h:38,
                 from /usr/include/InsightToolkit/itkTimeStamp.h:33,
                 from /usr/include/InsightToolkit/itkLightObject.h:23,
                 from /usr/include/InsightToolkit/itkObject.h:31,
                 from /usr/include/InsightToolkit/itkRegion.h:31,
                 from /usr/include/InsightToolkit/itkImageRegion.h:31,
                 from /usr/include/InsightToolkit/itkImage.h:21,
                 from /home/user/Downloads/gggg/c3d-git/itkextras/itkOrientedRASImage.h:4,
                 from /home/user/Downloads/gggg/c3d-git/ConvertImageND.h:29,
                 from /home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:26:
/usr/include/vxl/vcl/vcl_limits.h:11:5: warning: #warning "This header will be removed in future versions of VXL.  Use equivalent C++11 header instead. see: vxl/scripts/UseStandardHeaders.py" [-Wcpp]
   11 |   # warning "This header will be removed in future versions of VXL.  Use equivalent C++11 header instead. see: vxl/scripts/UseStandardHeaders.py"
      |     ^~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In member function ‘int ImageConverter::ProcessCommand(int, char**)’:
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:464:14: error: ‘vcl_acos’ was not declared in this scope
  464 |     adapter(&vcl_acos);
      |              ^~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:517:14: error: ‘vcl_asin’ was not declared in this scope
  517 |     adapter(&vcl_asin);
      |              ^~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:564:14: error: ‘vcl_ceil’ was not declared in this scope
  564 |     adapter(&vcl_ceil);
      |              ^~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:653:14: error: ‘vcl_cos’ was not declared in this scope
  653 |     adapter(&vcl_cos);
      |              ^~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:744:14: error: ‘vcl_exp’ was not declared in this scope; did you mean ‘ldexp’?
  744 |     adapter(&vcl_exp);
      |              ^~~~~~~
      |              ldexp
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:800:14: error: ‘vcl_floor’ was not declared in this scope
  800 |     adapter(&vcl_floor);
      |              ^~~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1029:14: error: ‘vcl_log’ was not declared in this scope
 1029 |     adapter(&vcl_log);
      |              ^~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1036:14: error: ‘vcl_log10’ was not declared in this scope
 1036 |     adapter(&vcl_log10);
      |              ^~~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1313:11: error: ‘vcl_exp’ was not declared in this scope; did you mean ‘ldexp’?
 1313 |     exp1(&vcl_exp);
      |           ^~~~~~~
      |           ldexp
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1836:14: error: ‘vcl_sin’ was not declared in this scope
 1836 |     adapter(&vcl_sin);
      |              ^~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1920:14: error: ‘vcl_sqrt’ was not declared in this scope
 1920 |     adapter(&vcl_sqrt);
      |              ^~~~~~~~
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 2]’:
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3094:16:   required from here
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_math_h_’?
 2469 |         if (!vnl_math_isnan(*q))
      |              ~~~~~~~~~~~~~~^~~~
      |              vnl_math_h_
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 3]’:
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3095:16:   required from here
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_math_h_’?
 2469 |         if (!vnl_math_isnan(*q))
      |              ~~~~~~~~~~~~~~^~~~
      |              vnl_math_h_
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 4]’:
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3096:16:   required from here
/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_math_h_’?
 2469 |         if (!vnl_math_isnan(*q))
      |              ~~~~~~~~~~~~~~^~~~
      |              vnl_math_h_
make[2]: *** [CMakeFiles/cnd_driver.dir/build.make:63: CMakeFiles/cnd_driver.dir/ConvertImageND.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:329: CMakeFiles/cnd_driver.dir/all] Error 2
pyushkevich commented 4 years ago

Which ITK version are you compiling against?

On Wed, Nov 13, 2019 at 5:09 PM Alessio notifications@github.com wrote:

Trying to compile on Fedora 31, I get

...

$ make

Scanning dependencies of target markdown_to_hex

[ 1%] Building C object CMakeFiles/markdown_to_hex.dir/utilities/hexdump.c.o

[ 2%] Linking C executable markdown_to_hex

[ 2%] Built target markdown_to_hex

Scanning dependencies of target markdown_docs

[ 3%] Generating markdown_docs.h

[ 3%] Built target markdown_docs

Scanning dependencies of target cnd_driver

[ 4%] Building CXX object CMakeFiles/cnd_driver.dir/ConvertImageND.cxx.o

In file included from /usr/include/InsightToolkit/itkNumericTraits.h:51,

             from /usr/include/InsightToolkit/itkConceptChecking.h:32,

             from /usr/include/InsightToolkit/itkAtomicIntDetail.h:39,

             from /usr/include/InsightToolkit/itkAtomicInt.h:38,

             from /usr/include/InsightToolkit/itkTimeStamp.h:33,

             from /usr/include/InsightToolkit/itkLightObject.h:23,

             from /usr/include/InsightToolkit/itkObject.h:31,

             from /usr/include/InsightToolkit/itkRegion.h:31,

             from /usr/include/InsightToolkit/itkImageRegion.h:31,

             from /usr/include/InsightToolkit/itkImage.h:21,

             from /home/user/Downloads/gggg/c3d-git/itkextras/itkOrientedRASImage.h:4,

             from /home/user/Downloads/gggg/c3d-git/ConvertImageND.h:29,

             from /home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:26:

/usr/include/vxl/vcl/vcl_limits.h:11:5: warning: #warning "This header will be removed in future versions of VXL. Use equivalent C++11 header instead. see: vxl/scripts/UseStandardHeaders.py" [-Wcpp]

11 | # warning "This header will be removed in future versions of VXL. Use equivalent C++11 header instead. see: vxl/scripts/UseStandardHeaders.py"

  |     ^~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In member function ‘int ImageConverter::ProcessCommand(int, char**)’:

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:464:14: error: ‘vcl_acos’ was not declared in this scope

464 | adapter(&vcl_acos);

  |              ^~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:517:14: error: ‘vcl_asin’ was not declared in this scope

517 | adapter(&vcl_asin);

  |              ^~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:564:14: error: ‘vcl_ceil’ was not declared in this scope

564 | adapter(&vcl_ceil);

  |              ^~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:653:14: error: ‘vcl_cos’ was not declared in this scope

653 | adapter(&vcl_cos);

  |              ^~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:744:14: error: ‘vcl_exp’ was not declared in this scope; did you mean ‘ldexp’?

744 | adapter(&vcl_exp);

  |              ^~~~~~~

  |              ldexp

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:800:14: error: ‘vcl_floor’ was not declared in this scope

800 | adapter(&vcl_floor);

  |              ^~~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1029:14: error: ‘vcl_log’ was not declared in this scope

1029 | adapter(&vcl_log);

  |              ^~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1036:14: error: ‘vcl_log10’ was not declared in this scope

1036 | adapter(&vcl_log10);

  |              ^~~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1313:11: error: ‘vcl_exp’ was not declared in this scope; did you mean ‘ldexp’?

1313 | exp1(&vcl_exp);

  |           ^~~~~~~

  |           ldexp

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1836:14: error: ‘vcl_sin’ was not declared in this scope

1836 | adapter(&vcl_sin);

  |              ^~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:1920:14: error: ‘vcl_sqrt’ was not declared in this scope

1920 | adapter(&vcl_sqrt);

  |              ^~~~~~~~

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 2]’:

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3094:16: required from here

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_mathh’?

2469 | if (!vnl_math_isnan(*q))

  |              ~~~~~~~~~~~~~~^~~~

  |              vnl_math_h_

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 3]’:

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3095:16: required from here

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_mathh’?

2469 | if (!vnl_math_isnan(*q))

  |              ~~~~~~~~~~~~~~^~~~

  |              vnl_math_h_

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx: In instantiation of ‘TPixel ImageConverter::ReadIntensityValue(const char*) [with TPixel = double; unsigned int VDim = 4]’:

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:3096:16: required from here

/home/user/Downloads/gggg/c3d-git/ConvertImageND.cxx:2469:28: error: ‘vnl_math_isnan’ was not declared in this scope; did you mean ‘vnl_mathh’?

2469 | if (!vnl_math_isnan(*q))

  |              ~~~~~~~~~~~~~~^~~~

  |              vnl_math_h_

make[2]: *** [CMakeFiles/cnd_driver.dir/build.make:63: CMakeFiles/cnd_driver.dir/ConvertImageND.cxx.o] Error 1

make[1]: *** [CMakeFiles/Makefile2:329: CMakeFiles/cnd_driver.dir/all] Error 2

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/pyushkevich/c3d/issues/1?email_source=notifications&email_token=AAJPEWZHMTDFLLUHJKMLZW3QTR3IJA5CNFSM4JNCKTZKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HZEXXQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJPEW6HEWLCVLPGWUS4EKLQTR3IJANCNFSM4JNCKTZA .

-- Paul A. Yushkevich, Ph.D. Associate Professor Penn Image Computing and Science Laboratory Department of Radiology University of Pennsylvania

alcir commented 4 years ago

4.13.1

Thanks.

pyushkevich commented 4 years ago

A couple things:

  1. The repo on sourceforge was a couple commits behind the github repo. Please make sure you are using the latest. I just updated sourceforge.
  2. I can build using 4.13.2 on my Mac and on Linux. But I compile ITK and C3D with CMAKE_CXX_FLAGS=-std=c++11. This may be the difference.

Hope this helps!

On Thu, Nov 14, 2019 at 11:19 AM Alessio notifications@github.com wrote:

4.13.1

Thanks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pyushkevich/c3d/issues/1?email_source=notifications&email_token=AAJPEW6RNJSEKDW6AB573GTQTV3C3A5CNFSM4JNCKTZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEECMYPA#issuecomment-553962556, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJPEW6AFD7UAF3QWERNHFDQTV3C3ANCNFSM4JNCKTZA .

-- Paul A. Yushkevich, Ph.D. Associate Professor Penn Image Computing and Science Laboratory Department of Radiology University of Pennsylvania

alcir commented 4 years ago

Thank you very much for the answers.

alcir commented 4 years ago

Unfortunately I'm not a developer, so my skills and knowledge are very limited. You can see here https://src.fedoraproject.org/rpms/InsightToolkit/blob/master/f/InsightToolkit.spec how ITK was compiled on Fedora. Maybe there is something preventing compilation of C3D to work?