[Pidgin] #10523: Bad order of define(s) for _FILE_OFFSET_BITS for Solaris8 --
Pidgin
trac at pidgin.im
Sat Oct 17 06:06:02 EDT 2009
#10523: Bad order of define(s) for _FILE_OFFSET_BITS for Solaris8 --
------------------------------------------------------+---------------------
Reporter: aab at purdue.edu | Owner: rekkanoryo
Type: defect | Status: new
Milestone: | Component: unclassified
Version: 2.6.2 | Resolution:
Keywords: _FILE_OFFSET_BITS include order Solaris8 |
------------------------------------------------------+---------------------
Comment(by aab at purdue.edu):
Replying to [comment:1 darkrain42]:
> Isn't this a bug in autoconf if it's not properly detecting the value of
_FILE_OFFSET_BITS?
If I have all of my p's and q's lined up properly, the answer is no.
Assuming that the "sys/feature_tests.h" header is encountered before the
preprocessor variable, _FILE_OFFSET_BITS, is defined: (1) if the compile
is a 64-bit compile(v9), the variables value is forced to be 64; if the
compile is a 32-bit compile (v8* as I am doing), the "default value" is
32. This can and probably always should be overridden by assigning it a
value of 64 before the system header is compiled. `autoconf' does it
properly in choosing the 64-bit value. This can be overridden by using
the "--disable-largefile" option.
That being said, the `autoconf' generated assignment in "config.h" of
_FILE_OFFSET_BITS=64 has to be encountered by the compiler before the
system headers, "<stdin.h> -> <sys/feature_test.h>" find that it is
undefined and assign it its "default value" of 32. If initially
defined by "sys/feature_test.h" and since the assignment in "config.h"
is unconditional, the compiler legitimately complains about two
different values assigned to the same preprocessor variable., i.e.,
"#include" order is extremely important here. An example of bad
ordering is in "pidgin-2.6.[23]/libpurple/cipher.c".
--
Ticket URL: <http://developer.pidgin.im/ticket/10523#comment:2>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list