Package: cpl-plugin-amber
Version: 4.3.1+dfsg-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/amberSupport.o .libs/amber_dfs.o 
.libs/amber_qc.o .libs/amdlibArrayGeometry.o .libs/amdlibBadPixels.o 
.libs/amdlibClosurePhases.o .libs/amdlibDark.o .libs/amdlibDate.o 
.libs/amdlibEsoUtils.o .libs/amdlibFlatField.o .libs/amdlibFrameSelection.o 
.libs/amdlibImagingData.o .libs/amdlibImagingDetector.o .libs/amdlibInsCfg.o 
.libs/amdlibLog.o .libs/amdlibMatrix.o .libs/amdlibMisc.o 
.libs/amdlibMultiDimArray.o .libs/amdlibOi.o .libs/amdlibOiStructures.o 
.libs/amdlibP2vm.o .libs/amdlibP2vmData.o .libs/amdlibPiston.o 
.libs/amdlibRawData.o .libs/amdlibRefSpectrum.o .libs/amdlibRegion.o 
.libs/amdlibScienceData.o .libs/amdlibShift.o .libs/amdlibSpectralCalibration.o 
.libs/amdlibSpectralCalibrationData.o .libs/amdlibSpectrum.o 
.libs/amdlibString.o .libs/amdlibUtils.o .libs/amdlibVisibilities.o 
.libs/amdlibWaveData.o .libs/amdlibYorick.o .libs/amdmsAlgo.o 
.libs/amdmsBadPixels.o .libs/amdmsCalibration.o .libs/amdmsCommon.o 
.libs/amdmsFit.o .libs/amdmsFits.o .libs/amdmsFitsCube.o .libs/amdmsFitsData.o 
.libs/amdmsFitsKeyword.o .libs/amdmsFitsTable.o .libs/amdmsPixelStatistics.o 
.libs/amdmsProperties.o .libs/esolibCalibVis.o .libs/esolibSelector.o 
.libs/esolibTransferfunction.o .libs/esolibamdlibOi.o .libs/gipaf.o 
.libs/giqclog.o   -L/usr/lib/x86_64-linux-gnu -lcpldfs -lcplui -lcplcore -lcext 
-lcfitsio -lfftw3 -lm -lnsl  -O2 -Wl,-z -Wl,relro   -Wl,-soname 
-Wl,libamber.so.0 -o .libs/libamber.so.0.0.0

error: conflicting function declarations "stat"
old definition in module amdlibArrayGeometry file 
/usr/include/x86_64-linux-gnu/sys/stat.h line 453
signed int (const char *__path, struct stat *__statbuf)
new definition in module amdlibFrameSelection file 
/usr/include/x86_64-linux-gnu/sys/stat.h line 453
signed int (const char *__path, struct stat *__statbuf)

reason for conflict at __statbuf in types listed below (struct/struct):
composite type component counts differ (18/15)
struct stat {
  unsigned long int st_dev;
  unsigned long int st_ino;
  unsigned long int st_nlink;
  unsigned int st_mode;
  unsigned int st_uid;
  unsigned int st_gid;
  signed int __pad0;
  unsigned long int st_rdev;
  signed long int st_size;
  signed long int st_blksize;
  signed long int st_blocks;
  signed long int st_atime;
  unsigned long int st_atimensec;
  signed long int st_mtime;
  unsigned long int st_mtimensec;
  signed long int st_ctime;
  unsigned long int st_ctimensec;
  signed long int [3l] __unused;
}
struct stat {
  unsigned long int st_dev;
  unsigned long int st_ino;
  unsigned long int st_nlink;
  unsigned int st_mode;
  unsigned int st_uid;
  unsigned int st_gid;
  signed int __pad0;
  unsigned long int st_rdev;
  signed long int st_size;
  signed long int st_blksize;
  signed long int st_blocks;
  struct timespec st_atim;
  struct timespec st_mtim;
  struct timespec st_ctim;
  signed long int [3l] __unused;
}

The type conflict is caused by #define _POSIX_SOURCE 1 in
amber/amdlibArrayGeometry.c -- this should be set for the entire project as a
compiler command line define or via some global config header file to ensure
type compatibility.

Best,
Michael

Attachment: pgpW0qChgNRRw.pgp
Description: PGP signature

Reply via email to