[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gnulib overriding stdint.h for C++11 change (was: Bug#695152: t-p-u pre-approval lftp/4.3.6-1+deb7u1)

clone 677861 -1
reassign -1 src:lftp,src:gnulib,src:eglibc,src:kfreebsd-kernel-headers
retitle -1 gnulib overriding stdint.h for C++11 change
severity -1 normal


There might have been a more elegant way to address this in lftp, but
the patch approved for t-p-u should be okay for wheezy and is hopefully
only temporary.

I would have preferred to revert the gnulib stdint.m4 change[1] which
triggered this regression, so that system headers are used as before and
not interfered with.


On 12/12/12 15:31, Andreas Henriksson wrote:
> A much better solution would have been to actually fix the kFreeBSD
> system headers! [...] kFreeBSD brokenness [...]

I don't think that is clear;  I'd say there were three separate problems
that led to this (some of which you have mentioned) :

1. C++11 seems to have changed the requirements of stdint.h, to do
something which was specifically prohibited by C99, and neither current
GNU libc nor FreeBSD libc are doing this;  it is a C header after all,
and C++11 even introduces a <cstdint> for this purpose so I don't see
why they had to rewrite history

2. gnulib saw this change in the standards as a new 'portability issue
to be fixed'[2] and therefore chooses to override the system header
(actually on GNU/Linux *as well as* GNU/kFreeBSD) which had been
perfectly adequate for lftp until now

3. by overriding stdint.h and system types, gnulib causes some
(unexplained yet?) problem for GNU/kFreeBSD system headers (but maybe
that's not surprising when it is overriding system types)


Steven Chamberlain

Reply to: