Package: liblas Version: 1.7.0+dfsg-5 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 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro CMakeFiles/las2txt-old.dir/lascommon.c.o CMakeFiles/las2txt-old.dir/las2txt.c.o -o ../bin/None/las2txt-old -rdynamic ../bin/None/liblas_c.so.2.2.0 ../bin/None/liblas.so.2.2.0 -ltiff -lgeotiff -lgdal -lboost_program_options -lboost_thread -lboost_system -lpthread -Wl,-rpath,/srv/jenkins-slave/workspace/sid-goto-cc-liblas/liblas-1.7.0+dfsg/obj-x86_64-linux-gnu/bin/None: error: conflicting function declarations "print_header" old definition in module lascommon file /srv/jenkins-slave/workspace/sid-goto-cc-liblas/liblas-1.7.0+dfsg/apps/lascommon.c line 407 void (struct _IO_FILE *file, struct LASHeaderHS *header, const char *file_name, signed int bSkipVLR, signed int bWKT) new definition in module las2txt file /srv/jenkins-slave/workspace/sid-goto-cc-liblas/liblas-1.7.0+dfsg/apps/las2txt.c line 21 void (struct _IO_FILE *, struct LASHeaderHS *, const char *) apps/CMakeFiles/las2txt-old.dir/build.make:122: recipe for target 'bin/None/las2txt-old' failed make[4]: *** [bin/None/las2txt-old] Error 64 Indeed there is some variety to be found here. The implementation requires 5 arguments, all of which are actually used (the last ones to make branch decisions, which will entirely undefined in the following setting): http://sources.debian.net/src/liblas/1.7.0+dfsg-5/apps/lascommon.c?hl=407#L407 Then there's the 3-argument version here: http://sources.debian.net/src/liblas/1.7.0+dfsg-5/apps/las2txt.c?hl=21#L21 And a 4-argument version here: http://sources.debian.net/src/liblas/1.7.0+dfsg-5/apps/lasmerge.c?hl=25#L25 Function calls for all versions exist, so some good amount of undefined behaviour to be observed. Best, Michael
pgpUkCISUs1FC.pgp
Description: PGP signature

