[Ace-users] [ace-users] ACE_OFF_T / off_t related problems, etc.
Martin Scholl
ms at globalinfinity.de
Wed Nov 14 06:43:31 CST 2007
Hello all,
I have stumbled upon a subtile problem under linux 32bit that was coming
from different definitions of off_t. I am writing this email to know how
if the following is a know problem, and how you typically solve it.
At compilation time (and as long as you do not change anything by hand)
ACE's off_t is defined as an 32bit integer when using 32bit linux (UNIX
also?) platforms.
But when you compile a program that uses ace you can switch the
definition of off_t by a set of preprocessor definitions; that is off_t
becomes an 64bit(!) integer.
Yet as you know ACE_OFF_T is a `typedef off_t ACE_OFF_T'. The result is
that linking fails for ace using programs configured for using large
files. Why? The names of symbols with ACE_OFF_T as a parameter will not
get resolved anymore. ACE_OFF_T has changed from 32bit to 64bit so the
functions' definitions are not equal anymore.
So, have you ever stumbled upon such a problem? Do you think (linux)
distributions shipping ACE should mind? Is it worth to solve it (and
e.g. change the definition of ACE_OFF_T so something like
typedef uint64_t ACE_OFF_T
)?
Peace,
Martin
global infinity GmbH | Tel.: 06421/983004-20 | Geschaeftsfuehrer: Marcus Brindoepke
Scheppe Gewissegasse 8 | Fax: 06421/983004-90 | Amtsgericht Marburg, HRB 5200
35039 Marburg | Funk: 0176/61190045 | Web: www.globalinfinity.de
More information about the Ace-users
mailing list