Hi Matthieu,

  I dont have a gcc-4.7 compiler, and I am not sure about where is this error coming from, but my two cents:

When I have found these problems in vxl, the error was related to  compiling with std-c++11. (in your compiler, with -std=c++0x)

If you see the definition of VCL_CAN_STATIC_CONST_INIT_FLOAT, you will found that the definition depends on the compiler, and in debian, depends on the version of gnu-c++. Note that in c++-03, this work fine because the object is defined and initialized in the cxx file (http://www2.research.att.com/~bs/bs_faq2.html#in-class), but in case of c++11, any static member of const literal type can have an initialiser in the class definition (if you do not use the "adress" of the object), then the object could be defined in the cxx file, while is initialized in the class.

When could you find this error? For example, if you compile a library with stdc++11 option on, then, VCL_CAN_STATIC_CONST_INIT_FLOAT will be compiled such that in the cxx file (translation unit) you have only the definition and not the initialization. Then, your programs must be compiled with the same option, in order to include that initialization in the class, to let the compiler to use directly the value inline.

Is this your source of errors? I don't know, but it could help to understand what is wrong.


El 06/06/12 18:12, Ian Scott escribió:
On 06/06/2012 16:50, Mathieu Malaterre wrote:
Hi Ian,

On Wed, Jun 6, 2012 at 5:12 PM, Ian Scott<scottim@imorphics.com>  wrote:
Well, I don't know about easy - I can't even replicate it.
However, looking at the CMakeLists.txt files for several contrib/mul
libraries, I found some unnecessary and potentially confounding
TARGET_LINK_LIBRARIES dependency entries. I have removed these and committed
as revision

Matthieu, if you can check this fixes your problem before Lianqing attempts
another RC, then I'm sure he would be grateful.
If you get your hand on a debian/sid system  - the major difference
from another linux system will be the use of gcc-4.7 as default
compiler -, you then apply trunk.patch. You can now run 'run.sh'. You
should get to:

I don't have time to set up a debian system (virtual or otherwise) - and 
gcc 4.7 is not one of my standard compilers. It isn't my code - I was 
just offering a possible fix. Sorry.


Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Vxl-maintainers mailing list