Open GoogleCodeExporter opened 9 years ago
While debugging this issue on Ubuntu 64bit, I've noticed that the problem is
that the check:
#define serf_bucket_get_remaining(b) \
((b)->type->read_bucket == serf_buckets_are_v2 ? \
..
doesn't work.
Looking at the code the read_bucket pointer for aggregate buckets is indeed
pointing to the serf_buckets_are_v2 function. However, in the debugger I see
that read_bucket points to "serf_buckets_are_v2@plt". So comparison of function
pointers doesn't work with gcc on Ubuntu/Gentoo (Arfrever's platform).
This function pointer comparison is fundamental to the serf bucket API version
check (needed in serf 1.4 for get_remaining and dynamic logging), so to be
fixed before 1.4.
Original comment by lieven.govaerts@gmail.com
on 15 Nov 2013 at 1:00
This is caused by both static and dynamic linking to serf in the test suite.
In this case there are multiple implementations of serfbuckets_are_v2 in
different modules, with (of course) different addresses.
(I had this problem on Windows before and applied a fix for that, but that fix
doesn't work on unix)
Original comment by b...@qqmail.nl
on 15 Nov 2013 at 3:08
Updated title with info that it only impacts the test suite per Bert's comment.
Original comment by lieven.govaerts@gmail.com
on 30 Dec 2013 at 11:01
Original issue reported on code.google.com by
Arfrever...@gmail.com
on 17 Oct 2013 at 10:36