[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


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