-------- Original-Nachricht --------
> Datum: Fri, 10 Dec 2010 07:39:50 -0500
> Von: Ludovic Marcotte <[email protected]>
> An: [email protected]
> Betreff: Re: [SOGo] source installation -- how to launch sogod?

> On 10-12-10 7:14 AM, Steve wrote:
> > Okay. So you compiled everything by hand? Or have you used your own
> Ebuild? Are you using SOPE SVN? If so, how have you managed to get around the
> sandbox violations? Since some time SOPE SVN tries to write to /Library/
> instead of honoring DESTDIR (this happened after SOGo stopped packaging a
> patch for SOPE). For me personally this is a huge show stopper.
> Don't use SOPE from SVN. Use the one the from our Monotone repository :
> 
> http://www.sogo.nu/development/source_code.html
> 
Why have I not seen that? Since when is there a SOPE branch in inverse monotone 
repository?

Anyway... let me give you a first feedback. This part in configure is not going 
to work:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  # Note: GNUSTEP_TARGET_CPU is not yet available (set by common.make), so we
  #       only have environment variables
  # Note: we can't set SYSTEM_LIB_DIR in this location, it gets overridden by
  #       common.make
  UNAME=`uname`
  if [ "X${UNAME}" = "XLinux" ];then
    UNAME=`uname -p`
    if [ ${UNAME} = x86_64 -o ${UNAME} = sparc64 -o ${UNAME} = ppc64 ];then
      cfgwrite "CGS_LIBDIR_NAME:=lib64"
    else
      cfgwrite "CGS_LIBDIR_NAME:=lib"
    fi
  else
    cfgwrite "CGS_LIBDIR_NAME:=lib"
  fi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The reason is very easy. "uname -p" can (and probably will) result in a string 
with spaces in it. Just as an example:
- Intel(R) Pentium(R) 4 CPU 2.80GHz
- AMD Duron(tm) processor
- Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
- Intel(R) Core(TM) i7 CPU 975 @ 3.33GHz
- etc...

And then the if condition will not work because if ${UNAME} has spaces in it 
then you need to quote it. So instead of ${UNAME} the whole if line should have 
"${UNAME}". But regardless of the quoting the assignment of `uname -p` to the 
variable UNAME is IMHO wrong and should be `uname -m`. Then the quoting is not 
needed (would however be better to have the quoting in place in case the 
command uname -m would result in a empty string or would have special 
characters in it. btw: checkLinking() has the same issue. I mean the issue that 
it does not handle properly a return value with spaces in it resulting in my 
installation with the status "failed to link optional library: mysqlclient". 
For the original SOPE I have made a patch for that. I think the reason for the 
failure is that my MySQL installation needs "-lz" and "-lm" to compile and the 
inverse.ca configure and the original SOPE SVN configure can not handle "-lz 
-lm" the proper way. The patch to fix that specific issue would 
 be:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -425,6 +426,7 @@
   cd $tmpdir
   cp ../maintenance/dummytool.c .

+  local OLDLIBS="${LIBS}"
   for LIB in $1;do
     LIBS="$LIBS -l${LIB}"
   done
@@ -447,16 +449,24 @@
   LINK_RESULT=$?

   if test $LINK_RESULT = 0; then
-    echo "$2 library found: $1"
-    cfgwrite "HAS_LIBRARY_$1=yes"
+    for LIB in $1;do
+      echo "$2 library found: ${LIB}"
+      cfgwrite "HAS_LIBRARY_${LIB}=yes"
+    done
   else
     if test "x$2" = "xrequired"; then
-      echo "failed to link $2 library: $1"
+      for LIB in $1;do
+        echo "failed to link $2 library: ${LIB}"
+        cfgwrite "HAS_LIBRARY_${LIB}=no"
+      done
       rm ../config.make
       exit 1
     else
-      echo "failed to link $2 library: $1"
-      cfgwrite "HAS_LIBRARY_$1=no"
+      for LIB in $1;do
+        echo "failed to link $2 library: ${LIB}"
+        cfgwrite "HAS_LIBRARY_${LIB}=no"
+      done
+      LIBS="${OLDLIBS}"
     fi
   fi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The other thing that is preventing me to compile the inverse.ca SOPE branch is 
this little error here:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
././obj/libSoOFS.so: undefined reference to `crypt'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The original SOPE SVN code had/has the same issue and I fixed it with the 
following patch:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
--- sope-appserver/SoOFS/GNUmakefile.preamble.org       2009-11-24 
15:05:35.971466918 +0100
+++ sope-appserver/SoOFS/GNUmakefile.preamble   2009-11-24 15:04:47.001467300 
+0100
@@ -3,6 +3,7 @@
 # TODO: need to fix COMPILE_FOR_GSTEP_MAKE?
 ADDITIONAL_CPPFLAGS  += -Wall -DCOMPILE_FOR_GSTEP_MAKE=1
 ADDITIONAL_OBJCFLAGS += -Wall -Wno-import -Wno-protocol
+ADDITIONAL_LDFLAGS += "-Wl,--no-as-needed"

 SOPE_ROOT=../..
 CORE_ROOT=$(SOPE_ROOT)/sope-core
@@ -83,6 +83,7 @@
 ifneq ($(findstring darwin, $(GNUSTEP_TARGET_OS)), darwin)
 # and neither does MacOSX? ...
-sope_TOOL_LIBS += -lcrypt
+$(SOPED_NAME)_TOOL_LIBS += -lcrypt
+libSoOFS_LIBRARIES_DEPEND_UPON += -lcrypt
 endif
 endif
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

I have other SOPE related patches (that I already have submitted some while ago 
to SOPE bug tracking system). If you are interested in them then let me know.

I have now to test again against the inverse.ca SOPE edition to see which of 
them are still needed and which are fixed. So far the above two are needed in 
my case to be able to compile SOPE inverse.ca edition. Have not installed 
inverse.ca SOPE yet. So I don't know if there are any runtime issues without 
the other patches that I used for SOPE SVN. I pretty much lost interest in SOGo 
because of those never ending issues with compiling SOPE. But maybe the new 
inverse.ca SOPE is better and can again motivate me to invest time to check out 
SOGo again? I just hope that patch submissions are not the same black hole as 
submitting patches to the original SOPE edition is?



> Then, compile things :
> 
> http://www.sogo.nu/nc/support/faq/article/how-do-i-compile-sogo-2.html
> 
> Regards,
> 
> -- 
> Ludovic Marcotte
> [email protected]  ::  +1.514.755.3630  ::  www.inverse.ca
> Inverse inc. :: Leaders behind SOGo (www.sogo.nu) and PacketFence
> (www.packetfence.org)
> 
> -- 
> [email protected]
> https://inverse.ca/sogo/lists

-- 
GRATIS! Movie-FLAT mit über 300 Videos. 
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome
-- 
[email protected]
https://inverse.ca/sogo/lists

Reply via email to