Package: libgclib-dev Version: 0.11.3-1 Severity: important Tags: ftbfs Control: affects -1 + src:gffread
gffread fails to build from source for 32bit architectures with the following linker error: | /usr/bin/ld: gffread.o: in function `GLineReader::getLine(_IO_FILE*)': | /usr/include/gclib/GBase.h:576: undefined reference to `GLineReader::getLine(_IO_FILE*, long long&)' The second argument of getLine is actually typed off_t&. libgclib is built without _FILE_OFFSET_BITS, so off_t becomes long. gffread is built with _FILE_OFFSET_BITS=64, so off_t becomes long long there. In C++, these become different overloads and so we get the linker error. Fundamentally, I think using off_t in an ABI is difficult. If you do so, you must provide both variants. gclib fails to do so. As a workaround on the gffread side, unsetting the lfs feature should make it build: export DEB_BUILD_MAINT_OPTIONS=future=-lfs Of course, gffread comes without large file support then. Possibly, rebuilding libgclib with _FILE_OFFSET_BITS=64 would be a good solution. Beware that doing so is an ABI break and requires an soname bump though. Helmut