Bug#756777: Dirac FTBFS on armhf and blocks migration of arm64 fix.

peter green plugwash at p10link.net
Wed Oct 15 20:30:41 UTC 2014


Found 756777 1.0.2-6
Thanks

I've just tested and found that building with gcc/g++ 4.8 fixes the build. 
Using 4.8 also requires switching from strong to regular stack protector. This
can be done with the following

export 
CC=gcc-4.8                                                              
export 
CXX=g++-4.8                                                             
export 
DEB_CFLAGS_MAINT_STRIP=-fstack-protector-strong                         
export 
DEB_CFLAGS_MAINT_APPEND=-fstack-protector                               
export 
DEB_CXXFLAGS_MAINT_STRIP=-fstack-protector-strong                       
export DEB_CXXFLAGS_MAINT_APPEND=-fstack-protector

If noone proposes a better soloution in the next couple of days I'll 
wrap this
in appropriate conditional logic and upload it as a NMU.

Sebastian Ramacher wrote:
> On 2014-10-13 03:29:19, peter green wrote:
>   
>> Found 756777 1.0.2-6
>> Thanks
>>     
>>> | Checking encode and decode of colourbars
>>> |
>>> |   2: colourbars                                      FAILED (colourbars.at:7)
>>> |
>>>       
>> I've just reproduced this locally with both sid's version in sid and
>> jessie's version in jessie. So this doesn't appear to be related to the
>> change in the sid package but related to some change in the build
>> environment. If I had to guess i'd say a computer
>>     
>
> I think it's a toolchain bug. I did debug the issue some time after
> filing the bug report, but forgot to report my findings to the bug. The
> same version built fine in a wheezy chroot on harris, but fails in a
> unstable chroot.
>
> Here is the backtrace I got at the time:
>
> #0  dirac::PictureCompressor::SelectQuantisers (this=this at entry=0x207ccc4, coeff_data=..., bands=..., lambda=lambda at entry=6.25, est_bits=..., 
>     cb_mode=QUANT_SINGLE, pp=..., csort=csort at entry=dirac::Y_COMP) at picture_compress.cpp:632
> #1  0x00036d94 in dirac::PictureCompressor::CodeResidue (this=this at entry=0x207ccc4, my_buffer=..., pnum=<optimized out>, 
>     p_picture_byteio=p_picture_byteio at entry=0x20e4ae8) at picture_compress.cpp:449
> #2  0x000232ee in dirac::SequenceCompressor::CompressNextPicture (this=0x207cba8) at seq_compress.cpp:447
> #3  0x00018e72 in DiracEncoder::CompressNextPicture (this=this at entry=0x207c400) at dirac_encoder.cpp:607
> #4  0x0001b122 in CompressNextPicture (this=0x207c400) at dirac_encoder.cpp:1141
> #5  dirac_encoder_output (encoder=0x207c240) at dirac_encoder.cpp:1106
> #6  0x00014b20 in main (argc=<optimized out>, argv=<optimized out>) at encmain.cpp:1234
>
> The offending line is "est_bits[b] = SelectMultiQuants( coeff_data ,
> bands , b, lambda, ...". Printing b (or another index somewhere up the
> call trace - I don't remember exactly) immediately before this line,
> makes the crash go away. This makes me think gcc fails at optimizing the
> code and generates broken output.
>
> I didn't debug it any further.
>
> Cheers
>   



More information about the pkg-multimedia-maintainers mailing list