[Debichem-devel] Bug#750139: gamgi: Conflicting return types of function gamgi_engine_iarray_push

Michael Tautschnig mt at debian.org
Sun Jun 1 23:23:37 UTC 2014


Package: gamgi
Version: 0.17-1
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and 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.

[...]
cc -Wl,-z,relro -Wl,--as-needed -o gamgi gamgi_engine_array.o gamgi_engine_copy.o gamgi_engine_copy_out.o gamgi_engine_count.o gamgi_engine_create.o gamgi_engine_dlist.o gamgi_engine_empty.o gamgi_engine_filter.o gamgi_engine_find.o gamgi_engine_link.o gamgi_engine_list.o gamgi_engine_number.o gamgi_engine_remove.o gamgi_engine_remove_out.o gamgi_engine_reparent.o gamgi_engine_start.o gamgi_engine_task.o gamgi_engine_unlink.o gamgi_gtk_gamgi_about.o gamgi_gtk_gamgi_config.o gamgi_gtk_gamgi_exit.o gamgi_gtk_gamgi_reset.o gamgi_gtk_file_chooser.o gamgi_gtk_file_export.o gamgi_gtk_file_import.o gamgi_gtk_window_config.o gamgi_gtk_window_copy.o gamgi_gtk_window_create.o gamgi_gtk_window_link.o gamgi_gtk_window_remove.o gamgi_gtk_window_select.o gamgi_gtk_layer_config.o gamgi_gtk_layer_copy.o gamgi_gtk_layer_create.o gamgi_gtk_layer_link.o gamgi_gtk_layer_modify.o gamgi_gtk_layer_remove.o gamgi_gtk_layer_select.o gamgi_gtk_light_config.o gamgi_gtk_light_copy.o gamgi_gtk_light_create.o gamgi_gtk_light_link.o gamgi_gtk_light_modify.o gamgi_gtk_light_remove.o gamgi_gtk_light_select.o gamgi_gtk_assembly_copy.o gamgi_gtk_assembly_create.o gamgi_gtk_assembly_link.o gamgi_gtk_assembly_remove.o gamgi_gtk_assembly_select.o gamgi_gtk_cell_align.o gamgi_gtk_cell_copy.o gamgi_gtk_cell_create.o gamgi_gtk_cell_link.o gamgi_gtk_cell_measure.o gamgi_gtk_cell_modify.o gamgi_gtk_cell_remove.o gamgi_gtk_cell_select.o gamgi_gtk_cell_symmetry.o gamgi_gtk_cluster_copy.o gamgi_gtk_cluster_create.o gamgi_gtk_cluster_link.o gamgi_gtk_cluster_measure.o gamgi_gtk_cluster_remove.o gamgi_gtk_cluster_select.o gamgi_gtk_molecule_copy.o gamgi_gtk_molecule_create.o gamgi_gtk_molecule_link.o gamgi_gtk_molecule_measure.o gamgi_gtk_molecule_remove.o gamgi_gtk_molecule_select.o gamgi_gtk_group_copy.o gamgi_gtk_group_create.o gamgi_gtk_group_link.o gamgi_gtk_group_measure.o gamgi_gtk_group_modify.o gamgi_gtk_group_remove.o gamgi_gtk_group_select.o gamgi_gtk_plane_create.o gamgi_gtk_plane_copy.o gamgi_gtk_plane_link.o gamgi_gtk_plane_list.o gamgi_gtk_plane_measure.o gamgi_gtk_plane_modify.o gamgi_gtk_plane_node.o gamgi_gtk_plane_remove.o gamgi_gtk_plane_select.o gamgi_gtk_direction_create.o gamgi_gtk_direction_copy.o gamgi_gtk_direction_link.o gamgi_gtk_direction_list.o gamgi_gtk_direction_measure.o gamgi_gtk_direction_modify.o gamgi_gtk_direction_range.o gamgi_gtk_direction_remove.o gamgi_gtk_direction_select.o gamgi_gtk_atom_config.o gamgi_gtk_atom_copy.o gamgi_gtk_atom_create.o gamgi_gtk_atom_link.o gamgi_gtk_atom_measure.o gamgi_gtk_atom_modify.o gamgi_gtk_atom_property.o gamgi_gtk_atom_remove.o gamgi_gtk_atom_select.o gamgi_gtk_atom_table.o gamgi_gtk_bond_config.o gamgi_gtk_bond_create.o gamgi_gtk_bond_link.o gamgi_gtk_bond_modify.o gamgi_gtk_bond_remove.o gamgi_gtk_bond_select.o gamgi_gtk_orbital_copy.o gamgi_gtk_orbital_create.o gamgi_gtk_orbital_link.o gamgi_gtk_orbital_modify.o gamgi_gtk_orbital_remove.o gamgi_gtk_orbital_select.o gamgi_gtk_text_config.o gamgi_gtk_text_copy.o gamgi_gtk_text_create.o gamgi_gtk_text_link.o gamgi_gtk_text_modify.o gamgi_gtk_text_remove.o gamgi_gtk_text_select.o gamgi_gtk_help_config.o gamgi_gtk_help_current.o gamgi_gtk_help_dialog.o gamgi_gtk_help_search.o gamgi_gtk_help_start.o gamgi_gtk_help_topic.o gamgi_gtk_help_tutorial.o gamgi_gtk_animate.o gamgi_gtk_copy.o gamgi_gtk_create.o gamgi_gtk_dialog.o gamgi_gtk_history.o gamgi_gtk_key.o gamgi_gtk_link.o gamgi_gtk_measure.o gamgi_gtk_modify.o gamgi_gtk_object.o gamgi_gtk_remove.o gamgi_gtk_select.o gamgi_gtk_statusbar.o gamgi_mesa_area.o gamgi_mesa_axes.o gamgi_mesa_atom.o gamgi_mesa_bond.o gamgi_mesa_center.o gamgi_mesa_draw.o gamgi_mesa_grab.o gamgi_mesa_lists.o gamgi_mesa_pick.o gamgi_mesa_render.o gamgi_mesa_rotate.o gamgi_mesa_rotate_out.o gamgi_mesa_select.o gamgi_mesa_scale.o gamgi_mesa_start.o gamgi_mesa_trackball.o gamgi_mesa_text.o gamgi_mesa_translate.o gamgi_mesa_translate_out.o gamgi_math_cell.o gamgi_math_diophantine.o gamgi_math_euler.o gamgi_math_measure.o gamgi_math_modify.o gamgi_math_matrix.o gamgi_math_node.o gamgi_math_polygon.o gamgi_math_position.o gamgi_math_quaternion.o gamgi_math_sort.o gamgi_math_vector.o gamgi_math_hash.o gamgi_chem_atom.o gamgi_chem_bond.o gamgi_chem_bond_create.o gamgi_chem_geometry.o gamgi_chem_orbital.o gamgi_chem_property.o gamgi_chem_symmetry.o gamgi_chem_polytope.o gamgi_phys_cell.o gamgi_phys_cell_link.o gamgi_phys_direction.o gamgi_phys_plane.o gamgi_phys_projection.o gamgi_phys_rcp.o gamgi_phys_reciprocal.o gamgi_phys_space.o gamgi_phys_symmetry.o gamgi_phys_voronoi.o gamgi_phys_wigner.o gamgi_io_error.o gamgi_io_file.o gamgi_io_font_hershey.o gamgi_io_font_sun.o gamgi_io_socket.o gamgi_io_token.o gamgi_io_x3d.o gamgi_io_x3d_render.o gamgi_io_xyz.o gamgi_expat_import.o gamgi_expat_import_object.o gamgi_expat_import_config.o gamgi_expat_import_help.o gamgi_expat_export.o gamgi_expat_export_object.o gamgi_expat_export_config.o gamgi_global_create.o gamgi_global_copy.o gamgi_global_main.o gamgi_global_remove.o gamgi_global_resources.o gamgi_global_selection.o gamgi_global_start.o -L/usr/lib  -L/usr/lib -L/usr/lib  -L/usr/lib  -L/usr/lib  -L/usr/lib  -L/usr/lib -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lICE -lgdk-x11-2.0 -lpangox-1.0 -lX11 -lgmodule-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lglib-2.0 -lfreetype -lX11  -lXext -lXi -lXmu -lexpat -lm -ldl

error: conflicting function declarations "gamgi_engine_iarray_push"
old definition in module gamgi_engine_array file ./engine/gamgi_engine_array.c line 84
signed int * (struct _gamgi_iarray *iarray, signed int *vector)
new definition in module gamgi_chem_geometry file ./engine/gamgi_engine_array.h line 31
double * (struct _gamgi_iarray *, signed int *)
make_rules:54: recipe for target 'gamgi' failed
make[2]: *** [gamgi] Error 64
make[2]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-gamgi/gamgi-0.17/src'
dh_auto_build: make -j1 CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -ansi -D_FORTIFY_SOURCE=2  LDFLAGS=-Wl,-z,relro -Wl,--as-needed returned exit code 2
debian/rules:24: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2

Observe the different types provided as return values. Fortunately it seems that
the return value is never used (which in itself may be worth reviewing), thus
there is no error expected right now. However, any future use would likely
result in invalid memory accesses.

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/debichem-devel/attachments/20140602/695d65fe/attachment.sig>


More information about the Debichem-devel mailing list