Re: Bug#2447: dselect" compilation buglet
Bruce Perens writes ("Bug#2447: dselect" compilation buglet"):
> I'm having trouble even with this patch installed. The problem goes away
> if I remove the "static" declaration from the functions. It looks as if it's
> a compiler bug.
Yes, this is a compiler bug. Ray Dassen first noticed it in July, and
I assumed that it would be fixed. I'm disappointed too see that it
hasn't been fixed yet. (I haven't yet compiled dpkg as ELF myself, so
I hadn't seen the problem.)
When I next work on dpkg I shall write an autoconf macro to detect the
problem and compile the relevant bits without optimisation (which
makes the problem go away).
> I think, however, that a function pointer that has been declared in the
> "C" universe should not point to a function that is declared in the C++
> universe. I don't know if g++ will ever care about this, but I've met
> other compilers that do.
You're right, I shall change this (but it's not what's causing
problems here - g++ doesn't mind about this at the moment).