Re: perl 5.10.0 / osx 10.5.2 'make' dies at "error: redefinition of 'union semun'"
[email protected] (Edward Moy)
| Newsgroups | perl.macosx |
|---|---|
| Message-ID | <[email protected]> |
On Mar 5, 2008, at 11:02 AM, snowcrash+perl wrote: > hi edward, > > On Wed, Mar 5, 2008 at 10:34 AM, Edward Moy <[email protected]> wrote: >> When I build 5.10.0, I don't have this problem. In config.h, I have: >> >> >> #define HAS_UNION_SEMUN /**/ >> >> Did you run Configure > > yes > >> and does your config.h define HAS_UNION_SEMUN? > > if i > > ./Configure -Dfirstmakefile='GNUmakefile' ... > > as usual, > > grep HAS_UNION_SEMUN config.h > /* HAS_UNION_SEMUN: > /*#define HAS_UNION_SEMUN / **/ > > after digging abt in perl src, i note that if i *ADD* > > ./Configure -Dfirstmakefile='GNUmakefile' ... -Dd_union_semun > > then, > > grep HAS_UNION_SEMUN config.h > /* HAS_UNION_SEMUN: > #define HAS_UNION_SEMUN /**/ > > and, subsequent > > make > > seems happy with that. > > so, the question is -- why's it need to be defined on my system, and > not on yours? > > did _you_ run Configure? or the default install? Yes, I run Configure, and it prints: You have union semun in <sys/sem.h>. Configure determines this by trying to compile: ----------- try.c ----------- #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> int main () { union semun semun; semun.buf = 0; } ------------------------------ What happens when you try to compile the above program? I forgot to mention that I'm still using the 4.0.1 compiler, while it looks like you're using the 4.2 compiler. If the above fails to compile with 4.2, you might try compiling try.c with 4.0.1 just to see if 4.2 has a bug (though I would think this unlikely). -------------------------------------------------------------------------- Edward Moy Apple Inc. [email protected]