You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Oscar Pernas <os...@pernas.es> on 2011/10/18 15:26:06 UTC
redefinition uid_t
Hi all,
I'm using apr in a process that uses CORBA TAO, for communications. My
problem is that TAO and APR has the same redefinition of a variable.
In apr.h i can see:
typedef int uid_t ;
typedef int pid_t;
typedef int gid_t;
However in TAO I could see:
typedef long uid_t
typedef long pid_t
Im in Win32 and Win64 platform. I've commented it in apr source and library
compiles well, Could I have any problem? What would be the best solution?
thanks in advance!
--
Óscar Pernas Plaza.
Re: redefinition uid_t
Posted by Oscar Pernas <os...@pernas.es>.
Hi Jeff,
Thanks for your response. Im also having one more error with this structure:
struct iovec
{
void *iov_base;
size_t iov_len;
};
Its weird because, the preprocessor definition APR_WANT_IOVEC is not defined
in the project, and in all the projects that I use and uses apr (log4cxx,
activemqcpp...). I'd added a personal preprocessor definition and now it
compiles, but, could cause any problem?
thanks!
2011/10/18 Jeff Trawick <tr...@gmail.com>
> On Tue, Oct 18, 2011 at 9:26 AM, Oscar Pernas <os...@pernas.es> wrote:
> > Hi all,
> > I'm using apr in a process that uses CORBA TAO, for communications. My
> > problem is that TAO and APR has the same redefinition of a variable.
> > In apr.h i can see:
> > typedef int uid_t ;
> > typedef int pid_t;
> > typedef int gid_t;
> > However in TAO I could see:
> > typedef long uid_t
> > typedef long pid_t
> >
> > Im in Win32 and Win64 platform. I've commented it in apr source and
> library
> > compiles well, Could I have any problem? What would be the best solution?
>
> I think that's the best solution for now. APR doesn't actually need
> to define uid_t for its own purposes.
>
> That general issue -- defining Unix types -- should be be fixed in the
> next major (i.e., not binary compatible) release. In cases other than
> uid_t there may be other fallout to handle. For example, apr_proc_t
> uses (requires) pid_t.
>
> According to our API compatibility rules, something equivalent to
>
> #ifndef APR_PLEASE_DONT_DEFINE_UNIX_TYPES
> typedef whatever uid_t
> #endif
>
> could be provided with apr 1.5.x. That would be worthwhile if the fix
> could be near-complete. (I dunno the complete fallout.)
>
--
Óscar Pernas Plaza.
Re: redefinition uid_t
Posted by Jeff Trawick <tr...@gmail.com>.
On Tue, Oct 18, 2011 at 9:26 AM, Oscar Pernas <os...@pernas.es> wrote:
> Hi all,
> I'm using apr in a process that uses CORBA TAO, for communications. My
> problem is that TAO and APR has the same redefinition of a variable.
> In apr.h i can see:
> typedef int uid_t ;
> typedef int pid_t;
> typedef int gid_t;
> However in TAO I could see:
> typedef long uid_t
> typedef long pid_t
>
> Im in Win32 and Win64 platform. I've commented it in apr source and library
> compiles well, Could I have any problem? What would be the best solution?
I think that's the best solution for now. APR doesn't actually need
to define uid_t for its own purposes.
That general issue -- defining Unix types -- should be be fixed in the
next major (i.e., not binary compatible) release. In cases other than
uid_t there may be other fallout to handle. For example, apr_proc_t
uses (requires) pid_t.
According to our API compatibility rules, something equivalent to
#ifndef APR_PLEASE_DONT_DEFINE_UNIX_TYPES
typedef whatever uid_t
#endif
could be provided with apr 1.5.x. That would be worthwhile if the fix
could be near-complete. (I dunno the complete fallout.)