Bug#749401: librsl: Inconsistent (and wrong) declarations of yywrap

Michael Tautschnig mt at debian.org
Mon May 26 18:35:48 UTC 2014


Package: librsl
Version: 1.43-1
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.

[...]
libtool: link: gcc -shared  -fPIC -DPIC  .libs/rapic_to_radar.o .libs/rapic.o .libs/rapic-lex.o .libs/rapic_routines.o .libs/radtec_to_radar.o .libs/radtec.o .libs/dorade.o .libs/dorade_print.o .libs/dorade_to_radar.o .libs/lassen.o .libs/lassen_to_radar.o .libs/radar.o .libs/volume.o .libs/image_gen.o .libs/cappi.o .libs/fraction.o .libs/read_write.o .libs/farea.o .libs/range.o .libs/radar_to_uf.o .libs/uf_to_radar.o .libs/wsr88d_to_radar.o .libs/carpi.o .libs/cube.o .libs/sort_rays.o .libs/toga_to_radar.o .libs/gts.o .libs/histogram.o .libs/ray_indexes.o .libs/anyformat_to_radar.o .libs/get_win.o .libs/endian.o .libs/mcgill_to_radar.o .libs/mcgill.o .libs/interp.o .libs/toga.o .libs/wsr88d.o .libs/wsr88d_get_site.o .libs/wsr88d_m31.o .libs/gzip.o .libs/prune.o .libs/reverse.o .libs/fix_headers.o .libs/nsig_to_radar.o .libs/nsig.o .libs/nsig2_to_radar.o .libs/africa_to_radar.o .libs/africa.o .libs/radar_to_hdf_2.o .libs/hdf_to_radar.o .libs/toolkit_memory_mgt.o .libs/radar_to_hdf_1.o .libs/rainbow.o .libs/rainbow_to_radar.o   -L/usr/lib /usr/lib/libmfhdf.so /usr/lib/libdf.so -ljpeg -lz -lm -lfl  -O2 -Wl,-z -Wl,relro   -Wl,-soname -Wl,librsl.so.1 -o .libs/librsl.so.1.0.43

error: conflicting function declarations "rapicwrap"
old definition in module rapic file rapic.y line 620
signed int (char *s)
new definition in module rapic-lex file rapic-lex.c line 639
signed int (void)
Makefile:546: recipe for target 'librsl.la' failed
make[3]: *** [librsl.la] Error 64
make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-librsl/librsl-1.43'
Makefile:694: recipe for target 'all-recursive' failed

The following is actually correct:

http://sources.debian.net/src/librsl/1.43-1/rapic-lex.c?hl=639#L639

but redefined to rapicwrap beforehand:

http://sources.debian.net/src/librsl/1.43-1/rapic-lex.c?hl=17#L17

Now obviously rapicwrap is permitted to do whatever it wants, but yywrap called
from here:

http://sources.debian.net/src/librsl/1.43-1/rapic.y?hl=622#L622

does not actually take any arguments, and will rather provide a return value.
This needs cleanup.

Best,
Michael

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20140526/166d5d8d/attachment.sig>


More information about the debian-science-maintainers mailing list