[Openais] [Corosync] Patches to fix BSD support
Jérôme Flesch
jerome.flesch at netasq.com
Wed Jun 10 08:22:56 PDT 2009
>>>>>> I think the LDL part needs to be in some user defined flag in the
>>>>>> configure.ac. The #if BSD with defining LDL is a bit hacky. I'm not
>>>>>> sure where it should go however, so perhaps Jim or Fabio could
>>>>>> comment.
>>>>>> If Jim or Fabio give that part the thumbs up, then this patch
>>>>>> should be
>>>>>> good to go in.
>>>>>>
>>>>>> the if defined semun wont work because unions are not defines. That
>>>>>> entire code segment is wrong. Can you try the attached patch on
>>>>>> bsd for
>>>>>> me?
>>>>>>
>>>>> I think you misunderstood my problem: semun *is* already defined on
>>>>> FreeBSD, but the #if !defined(semun) doesn't work on my system
>>>>> (probably due to a GCC version difference ?) and the compiler ends
>>>>> up with a redefinition of semun.
>>>>>
>>>>> Is there actually any system where semun is not already defined ?
>>>>>
>>>>>
>>>> Linux doesn't define it and Solaris doesn't even have a description of
>>>> the definition. Do you have _SEM_SEMUN_UNDEFINED in your header files?
>>>> Or SEM_SEMUN_DEFINED? That can be used to do an if defined test.
>>>>
>>> I haven't found any of them in the FreeBSD headers :/
>>>
>>
>> I believe the proper thing to do is put the union in ifdefs around
>> _SEM_SEMUN_UNDEFINED and define them in configure.ac for Solaris.
>>
>> Can you try this patch on your os?
>>
> Works for me :)
>
Btw, just so you know: I've finally been able to make our programs work
with Corosync (remaining problems were actually due to things specific
to our devices). Everything looks fine now and OpenAIS worked
out-of-the-box :)
>
>
>> Regards
>> -steve
>>
>>>> Regards
>>>> -steve
>>>>
>>>>
>>>>
>>>>
>>>>
>>> plain text document attachment (patch-fix-bsd-compilation)
>>> diff --git a/configure.ac b/configure.ac
>>> index de1ac78..b0b7c87 100644
>>> --- configure.ac
>>> +++ configure.ac
>>> @@ -194,6 +194,7 @@ AC_ARG_WITH([socket-dir],
>>> # OS detection
>>> # THIS SECTION MUST DIE!
>>> CP=cp
>>> +OS_LDL="-ldl"
>>> case "$host_os" in
>>> *linux*)
>>> AC_DEFINE_UNQUOTED([COROSYNC_LINUX], [1],
>>> @@ -225,11 +226,14 @@ case "$host_os" in
>>> *bsd*)
>>> AC_DEFINE_UNQUOTED([COROSYNC_BSD], [1],
>>> [Compiling for BSD platform])
>>> + AC_DEFINE_UNQUOTED([MAP_ANONYMOUS], [MAP_ANON],
>>> + [Shared memory define for Darwin platform])
>>> OS_CFLAGS=""
>>> OS_CPPFLAGS="-I/usr/local/include"
>>> OS_LDFLAGS="-L/usr/local/lib"
>>> OS_DYFLAGS="-export-dynamic"
>>> DARWIN_OPTS=""
>>> + OS_LDL=""
>>> ;;
>>> *solaris*)
>>> AC_DEFINE_UNQUOTED([COROSYNC_SOLARIS], [1],
>>> diff --git a/lib/Makefile.am b/lib/Makefile.am
>>> index 37afffd..31e8664 100644
>>> --- lib/Makefile.am
>>> +++ lib/Makefile.am
>>> @@ -114,7 +114,7 @@ libconfdb.so.$(SONAME): confdb.o sa-confdb.o
>>> ../lcr/lcr_ifact.o libcoroipcc.so.$
>>> $(CC) -shared -o $@ \
>>> -Wl,-soname=libconfdb.so.$(SOMAJOR) \
>>> -Wl,-version-script=$(srcdir)/libconfdb.versions \
>>> - $^ $(LDFLAGS) $(OS_DYFLAGS) -ldl $(AM_LDFLAGS)
>>> + $^ $(LDFLAGS) $(OS_DYFLAGS) $(OS_LDL) $(AM_LDFLAGS)
>>> ln -sf libconfdb.so.$(SONAME) libconfdb.so
>>> ln -sf libconfdb.so.$(SONAME) libconfdb.so.$(SOMAJOR)
>>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Openais mailing list
> Openais at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/openais
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4393 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.linux-foundation.org/pipermail/openais/attachments/20090610/57e49646/attachment-0001.bin
More information about the Openais
mailing list