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:38 AM, snowcrash+perl wrote:

> On Wed, Mar 5, 2008 at 11:17 AM, Edward Moy <[email protected]> wrote:
>> 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?
>
> with
>
> 	gcc --version
> 		powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5531)
> 	gcc -v try.c
>
> looks ok to me,

(snip)

>> 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).

(snip)

> looks effectively the same; only diff is:
>
> GCC 4.2 -> ... --build=powerpc-apple-darwin9
> --host=powerpc-apple-darwin9 --target=powerpc-apple-darwin9
> GCC 4.0 -> ... --build=i686-apple-darwin9 ..
> --host=powerpc-apple-darwin9 --target=powerpc-apple-darwin9

Well, it's a mystery.  The only other thing I can think of is if  
somehow _POSIX_C_SOURCE or _XOPEN_SOURCE are being defined when  
Configure compiles try.c (and union semun would not be defined in sys/ 
sem.h as per POSIX), but when miniperlmain.c compiles, those macros  
aren't defined, so union semun is visible in sys/sem.h, but by that  
time HAS_UNION_SEMUN has been define, so union semun gets redefined.
--------------------------------------------------------------------------
Edward Moy
Apple Inc.
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.