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 :)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.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 notsure 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 begood to go in.the if defined semun wont work because unions are not defines. Thatentire code segment is wrong. Can you try the attached patch on bsd forme?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 :)
Regards -steveRegards -steveplain 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 [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
