[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
thanks

Hi,

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.

[1]
http://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/stdint.m4?id=501af6ba6cbdb199856d2a12f8a1ee754e7bd2ae


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)

[2]
http://git.savannah.gnu.org/cgit/gnulib.git/diff/doc/posix-headers/stdint.texi?id=443bc5ffcf7429e557f4a371b0661abe98ddbc13&context=24

Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org


Reply to: