← Back to team overview

hugin-devs team mailing list archive

[Bug 1055303] Re: Compiling for debugging fails in linking phase

 

Cannot confirm. Both, Debug an Release link here without problems.

The undefined references are part of the vigra library.
This lib has to be built from source, since the ubuntu-provided is little outdated.

(Get it from "git://github.com/ukoethe/vigra.git",
 configure with "cmake <wherever the source resides",

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Enblend.
https://bugs.launchpad.net/bugs/1055303

Title:
  Compiling for debugging fails in linking phase

Status in Enblend:
  New

Bug description:
  My aim is to hunt core dump in enblend, therefore I try to build
  enblend for debugging.

  System: Ubuntu 12.04
  Linux tas 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

  I created a build directory called 'Debug' in the enblend tree and run
  the below command to create the 'make' config. Note that
  CMAKE_BUILD_TYPE is set to 'Debug'.

  cmake ../ -DENABLE_GPU:BOOL=OFF -DENABLE_IMAGECACHE:BOOL=OFF
  -DENABLE_OPENMP:BOOL=ON -DCPACK_BINARY_DEB:BOOL=ON
  -DCPACK_BINARY_NSIS:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=OFF
  -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TBZ2:BOOL=OFF
  -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF
  -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr/local

  make enblend

  A lot of linker error is thrown. The errors are the same except the
  value_type which is int, double etc. undefined reference to
  'vigra::VigraTrueType::asBool' is the error embedded in the message.

  The error does not appear if enblend is built for 'Release' by setting
  the CMAKE_BUILD_TYPE to 'Release'.

  The attachment is the result of:

  make VERBOSE=1 -j16 enblend'

  .o file generation excluded as there is no error in that phase.

  Here is a complete example of one occurance of the linker error:

  CMakeFiles/enblend.dir/enblend.o: In function `void transformImageMP<vigra::ConstBasicImageIterator<signed char, signed char**>, vigra::StandardConstValueAccessor<signed char>, vigra::BasicImageIterator<short, short**>, vigra::StandardValueAccessor<short>, enblend::ConvertScalarToPyramidFunctor<signed char, short, 9, 7> >(vigra::ConstBasicImageIterator<signed char, signed char**>, vigra::ConstBasicImageIterator<signed char, signed char**>, vigra::StandardConstValueAccessor<signed char>, vigra::BasicImageIterator<short, short**>, vigra::StandardValueAccessor<short>, enblend::ConvertScalarToPyramidFunctor<signed char, short, 9, 7> const&)':
  /home/smb/opensource/enblend/src/openmp.h:209: undefined reference to `vigra::VigraTrueType::asBool'
  CMakeFiles/enblend.dir/enblend.o: In function `void transformImageMP<vigra::ConstBasicImageIterator<unsigned short, unsigned short**>, vigra::StandardConstValueAccessor<unsigned short>, vigra::BasicImageIterator<int, int**>, vigra::StandardValueAccessor<int>, enblend::ConvertScalarToPyramidFunctor<unsigned short, int, 17, 7> >(vigra::ConstBasicImageIterator<unsigned short, unsigned short**>, vigra::ConstBasicImageIterator<unsigned short, unsigned short**>, vigra::StandardConstValueAccessor<unsigned short>, vigra::BasicImageIterator<int, int**>, vigra::StandardValueAccessor<int>, enblend::ConvertScalarToPyramidFunctor<unsigned short, int, 17, 7> const&)':
  /home/smb/opensource/enblend/src/openmp.h:209: undefined reference to `vigra::VigraTrueType::asBool'
  CMakeFiles/enblend.dir/enblend.o: In function `void transformImageMP<vigra::ConstBasicImageIterator<short, short**>, vigra::StandardConstValueAccessor<short>, vigra::BasicImageIterator<int, int**>, vigra::StandardValueAccessor<int>, enblend::ConvertScalarToPyramidFunctor<short, int, 17, 7> >(vigra::ConstBasicImageIterator<short, short**>, vigra::ConstBasicImageIterator<short, short**>, vigra::StandardConstValueAccessor<short>, vigra::BasicImageIterator<int, int**>, vigra::StandardValueAccessor<int>, enblend::ConvertScalarToPyramidFunctor<short, int, 17, 7> const&)':
  /home/smb/opensource/enblend/src/openmp.h:209: undefined reference to `vigra::VigraTrueType::asBool'
  CMakeFiles/enblend.dir/enblend.o: In function `void transformImageMP<vigra::ConstBasicImageIterator<unsigned int, unsigned int**>, vigra::StandardConstValueAccessor<unsigned int>, vigra::BasicImageIterator<double, double**>, vigra::StandardValueAccessor<double>, enblend::ConvertScalarToPyramidFunctor<unsigned int, double, 8, 0> >(vigra::ConstBasicImageIterator<unsigned int, unsigned int**>, vigra::ConstBasicImageIterator<unsigned int, unsigned int**>, vigra::StandardConstValueAccessor<unsigned int>, vigra::BasicImageIterator<double, double**>, vigra::StandardValueAccessor<double>, enblend::ConvertScalarToPyramidFunctor<unsigned int, double, 8, 0> const&)':
  /home/smb/opensource/enblend/src/openmp.h:209: undefined reference to `vigra::VigraTrueType::asBool'
  CMakeFiles/enblend.dir/enblend.o: In function `void transformImageMP<vigra::ConstBasicImageIterator<int, int**>, vigra::StandardConstValueAccessor<int>, vigra::BasicImageIterator<double, double**>, vigra::StandardValueAccessor<double>, enblend::ConvertScalarToPyramidFunctor<int, double, 8, 0> >(vigra::ConstBasicImageIterator<int, int**>, vigra::ConstBasicImageIterator<int, int**>, vigra::StandardConstValueAccessor<int>, vigra::BasicImageIterator<double, double**>, vigra::StandardValueAccessor<double>, enblend::ConvertScalarToPyramidFunctor<int, double, 8, 0> const&)':
  /home/smb/opensource/enblend/src/openmp.h:209: undefined reference to `vigra::VigraTrueType::asBool'
  CMakeFiles/enblend.dir/enblend.o:/home/smb/opensource/enblend/src/openmp.h:209: more undefined references to `vigra::VigraTrueType::asBool' follow

To manage notifications about this bug go to:
https://bugs.launchpad.net/enblend/+bug/1055303/+subscriptions


References