[Ace-users] [ace-users] ACE_OFF_T / off_t related problems, etc.
Johnny Willemsen
jwillemsen at remedy.nl
Wed Nov 14 07:17:51 CST 2007
Hi
To ensure that we have proper version/platform/compiler information,
please make sure you fill out the appropriate problem report form
(PRF), which is in
$ACE_ROOT/PROBLEM-REPORT-FORM
$TAO_ROOT/PROBLEM-REPORT-FORM
or in
$ACE_ROOT/BUG-REPORT-FORM
$TAO_ROOT/BUG-REPORT-FORM
in older versions of ACE+TAO. Make sure to include this information
when asking any questions about ACE+TAO since otherwise we have to
"guess" what version/platform/compiler/options you've using, which is
very error-prone and slows down our responsiveness. If you don't use
the PRF, therefore, it is less likely that someone from the core
ACE+TAO developer team will be able to answer your question.
Naturally, we encourage and appreciate other members of the ACE+TAO
user community who can respond to questions that they have the answers
to.
Regards,
Johnny Willemsen
Remedy IT
Postbus 101
2650 AC Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl
*** Integrated compile and test statistics see
http://scoreboard.theaceorb.nl ***
*** Commercial service and support for ACE/TAO/CIAO ***
*** See http://www.theaceorb.nl/en/support.html ***
"Martin Scholl" <ms at globalinfinity.de> wrote in message
news:<mailman.2849.1195044155.5286.ace-users at mail.cse.wustl.edu>...
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