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