Package: jxrlib
Version: 1.1-4
Usertags: goto-cc

During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder)
the build failed with the following error. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.

[...]
/usr/bin/cc  -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -D_FORTIFY_SOURCE=2   -Wl,-z,relro -shared 
-Wl,-soname,libjpegxr.so.0 -o libjpegxr.so.1.1 
CMakeFiles/jpegxr.dir/image/encode/encode.c.o 
CMakeFiles/jpegxr.dir/image/encode/segenc.c.o 
CMakeFiles/jpegxr.dir/image/encode/strenc.c.o 
CMakeFiles/jpegxr.dir/image/encode/strFwdTransform.c.o 
CMakeFiles/jpegxr.dir/image/encode/strPredQuantEnc.c.o 
CMakeFiles/jpegxr.dir/image/decode/decode.c.o 
CMakeFiles/jpegxr.dir/image/decode/postprocess.c.o 
CMakeFiles/jpegxr.dir/image/decode/segdec.c.o 
CMakeFiles/jpegxr.dir/image/decode/strdec.c.o 
CMakeFiles/jpegxr.dir/image/decode/strInvTransform.c.o 
CMakeFiles/jpegxr.dir/image/decode/strPredQuantDec.c.o 
CMakeFiles/jpegxr.dir/image/decode/JXRTranscode.c.o 
CMakeFiles/jpegxr.dir/image/sys/adapthuff.c.o 
CMakeFiles/jpegxr.dir/image/sys/image.c.o 
CMakeFiles/jpegxr.dir/image/sys/strcodec.c.o 
CMakeFiles/jpegxr.dir/image/sys/strPredQuant.c.o 
CMakeFiles/jpegxr.dir/image/sys/strTransform.c.o 
CMakeFiles/jpegxr.dir/image/sys/perfTimerANSI.c.o 
CMakeFiles/jpegxr.dir/image/encode/strenc.c.o: In function `StrIOEncInit':
/srv/jenkins-slave/workspace/sid-goto-cc-jxrlib/jxrlib-1.1/image/encode/strenc.c:485:
 warning: the use of `tmpnam' is dangerous, better use `mkstemp'

error: conflicting function declarations "encodeMB"
old definition in module strenc file 
/srv/jenkins-slave/workspace/sid-goto-cc-jxrlib/jxrlib-1.1/image/encode/strenc.c
 line 212
signed int (struct CWMImageStrCodec *pSC, signed int iMBX, signed int iMBY)
new definition in module JXRTranscode file 
/srv/jenkins-slave/workspace/sid-goto-cc-jxrlib/jxrlib-1.1/image/decode/JXRTranscode.c
 line 50
void (struct CWMImageStrCodec *, signed int, signed int)
CMakeFiles/jpegxr.dir/build.make:513: recipe for target 'libjpegxr.so.1.1' 
failed
make[3]: *** [libjpegxr.so.1.1] Error 64

Reviewing the code, it seems encodeMB uses the return value to report errors.
Thus the declaration in JXRTranscode.c should be fixed, and all call sites
should consider the return value.

Best,
Michael

Attachment: pgpZw3K3r2Dyq.pgp
Description: PGP signature

Reply via email to