Bug#748680: Conflicting definitions of db__driver_describe_table

Michael Tautschnig mt at debian.org
Mon May 19 15:26:33 UTC 2014


Package: grass
Version: 6.4.3-3
Severity: minor
Usertags: goto-cc
Tags: upstream

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.

[...]
gcc -L/srv/jenkins-slave/workspace/sid-goto-cc-grass/grass-6.4.3/dist.x86_64-pc-linux-gnu/lib -Wl,--export-dynamic -Wl,-rpath-link,/srv/jenkins-slave/workspace/sid-goto-cc-grass/grass-6.4.3/dist.x86_64-pc-linux-gnu/lib   -o /srv/jenkins-slave/workspace/sid-goto-cc-grass/grass-6.4.3/dist.x86_64-pc-linux-gnu/driver/db/dbf OBJ.x86_64-pc-linux-gnu/column.o OBJ.x86_64-pc-linux-gnu/cursor.o OBJ.x86_64-pc-linux-gnu/db.o OBJ.x86_64-pc-linux-gnu/dbfexe.o OBJ.x86_64-pc-linux-gnu/describe.o OBJ.x86_64-pc-linux-gnu/driver.o OBJ.x86_64-pc-linux-gnu/error.o OBJ.x86_64-pc-linux-gnu/execute.o OBJ.x86_64-pc-linux-gnu/fetch.o OBJ.x86_64-pc-linux-gnu/listtab.o OBJ.x86_64-pc-linux-gnu/main.o OBJ.x86_64-pc-linux-gnu/select.o OBJ.x86_64-pc-linux-gnu/str.o OBJ.x86_64-pc-linux-gnu/table.o OBJ.x86_64-pc-linux-gnu/create_table.o  -lgrass_dbmidriver.6.4.3 -lgrass_dbmibase.6.4.3 -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_dbstubs.6.4.3 -lgrass_dbmibase.6.4.3 -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_dbmibase.6.4.3 -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz       -lgrass_sqlp.6.4.3 -lgrass_shape.6.4.3 -lgrass_dbstubs.6.4.3 -lgrass_dbmibase.6.4.3 -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz      -lgrass_gis.6.4.3 -lgrass_datetime.6.4.3 -lz     -lgrass_datetime.6.4.3 -lm  -lz

error: conflicting function declarations "db__driver_describe_table"
old definition in module describe file describe.c line 24
signed int (struct _db_string *table_name, struct _db_table **table)
new definition in module driver file desc_table.c line 3
signed int (struct _db_string *name, struct _db_table *table)
Makefile:38: recipe for target '/srv/jenkins-slave/workspace/sid-goto-cc-grass/grass-6.4.3/dist.x86_64-pc-linux-gnu/driver/db/dbf' failed
make[4]: *** [/srv/jenkins-slave/workspace/sid-goto-cc-grass/grass-6.4.3/dist.x86_64-pc-linux-gnu/driver/db/dbf] Error 64

Note that the actual implementation uses a pointer to a pointer, whereas the
stub has only a single-level pointer for the parameter table:

http://sources.debian.net/src/grass/6.4.3-3/lib/db/stubs/desc_table.c?hl=3#L3

This will remain harmless as long as the stub does not make actual use of the
parameter, but should get fixed in order to avoid potential errors.

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/pkg-grass-devel/attachments/20140519/8e7398cf/attachment-0001.sig>


More information about the Pkg-grass-devel mailing list