Bug#812852: Vigra auf ppc64el -- continues a little bit

2016-03-10 Thread Ullrich Koethe
I upgraded the RC to use the newest LZ4 version which has significantly 
better byte order handling. Hopefully, this fixes the problem. One could 
also add a cmake option to use a pre-installed LZ4 library when 
available and just fall-back to the internal version if not.


Best
Ulli



Bug#812852: Vigra auf ppc64el -- continues a little bit

2016-03-10 Thread Ullrich Koethe

* Remove all occurencies of threading::memory_order* in multi_array_chunked.hxx 
(or equivalently, replace them with threading::memory_order_seq_cst). This will 
force all atomic accesses to use sequentially consistent ordering, the most 
strict possibility.


That worked out ... much thanks!


- First of all, there was a little mistake, that was the wrong log file. 
Unfortunately, the
   problem with test_multiarray_chunked resp. multi_array_chunked.hxx on 
ppc64el/le remains also
   with changing `memory_order_release/acquire` to `memory_order_seq_cst`.


bummer!


I'm further experimenting with VIGRA_SINGLE_THREADED but no breakthrough so far 
...


Looking at the log again, it occured to me that the error might not be 
related to multi-threading at all. Possibly, all failing tests are on 
ChunkedArrayCompressed with T being float and double. Can you please 
check this? If this is true, the error might go away be changing the 
compression algorithm in test_chunked.cxx line 121 from LZ4 into 
ZLIB_FAST or NO_COMPRESSION. If this works, there might be a byte order 
problem in the LZ4 algorithm. Endianess is decided in 
/src/impex/lz4.c lines 65 to 79. Please check if the correct 
endianess for your platform is retrieved there, and possibly propose a 
fix if it isn't.


Best
Ulli



Bug#814606: libvigraimpex: FTBFS on armel (error: return type 'class std::future')

2016-03-01 Thread Ullrich Koethe

so, please run cmake with the flag "-DWITH_BOOST_THREAD=1".


Yup, that works.


Great. Ideally, we would like to activate this flag automatically for 
non-conforming compilers, or at least issue a warning. Is there a way 
for cmake to recognize your platform and toolchain?



-- ** WARNING: You are compiling in C++98 mode.
-- **  Multiarray tests will be skipped.
-- **  Add -std=c++11 to CMAKE_CXX_FLAGS to enable multiarray tests.


If you want, you should be able to solve this by passing 
"-DCMAKE_CXX_FLAGS=-std=c++11" to cmake.


Best
Ulli



Bug#814606: libvigraimpex: FTBFS on armel (error: return type 'class std::future')

2016-03-01 Thread Ullrich Koethe
Since your toolchain apparently has no conforming implementation of 
std::thread, you might want to try boost::thread as a fall-back. To do 
so, please run cmake with the flag "-DWITH_BOOST_THREAD=1".


Best
Ulli


On Sat, 13 Feb 2016 13:27:16 +0100 Andreas Metzler  wrote:

Package: libvigraimpex
Version: 1.10.0+git20160120.803d5d4-1
Severity: serious
Justification: fails to build from source (but built successfully in the past)

Hello,

the build-error on armel is different from the one on ppc64el (#812852:
Failure in ChunkedMultiArrayTest). It fails at
Building CXX object
vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o
with multiple errors starting with this one:

threadpool.hxx:333:26: error: return type 'class std::future' is 
incomplete
 ThreadPool::enqueue(F&& f)
  ^

This is a new issue in 1.10.0+git, not a change in rdeps.

cu Andreas

--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'




Bug#814606: libvigraimpex: FTBFS on armel (error: return type 'class std::future')

2016-02-26 Thread Ullrich Koethe

threadpool.hxx:333:26: error: return type 'class std::future' is 
incomplete
 ThreadPool::enqueue(F&& f)
  ^


This message is emitted by outdated compilers that lack sufficient C++11 
support. What compiler did you use? If gcc: was the '-std=c++11' flag 
active?


Best
Ulli (VIGRA maintainer)