Hello community, First of all thank you for this amazing software.
I am trying to build SOGo in a FreeBSD jail. I will tell you step by step what I did and where it stopped working. I have installed the following ports: - devel/gnustep (WITH_GNUSTEP_DEVEL - version 1.21.0) - databases/mysql50-client - net/openldap24-server - databases/libmemcached - devel/monotone Created user name sogo and grabbed sources: $ mtn db init --db=~/db.mtn $ mtn --db=~/db.mtn pull inverse.ca ca.inverse.sope $ mtn --db=~/db.mtn checkout --branch ca.inverse.sope SOPE $ mtn --db=~/db.mtn pull inverse.ca ca.inverse.sogo $ mtn --db=~/db.mtn checkout --branch ca.inverse.sogo SOGo I have started by building SOPE and finally I've got it done by changing some stuff. In SOPE/configure script: #!/bin/bash to #!/bin/sh ARG_GSMAKE=`/usr/local/GNUstep/System/Tools/gnustep-config --variable=GNUSTEP_MAKEFILES` (entered absolute path to gnustep-config) LINK_SYSLIBDIRS="-L/usr/local/lib/mysql -L/usr/local/lib -L/usr/lib" (removed -L/usr/local/pgsql/lib because I don't want/use Postgre and I have added -L/usr/local/lib/mysql because I have noticed that ld couldn't find libmysqlclient). $ ./configure --with-gnustep --enable-debug --disable-strip $ gmake # gmake install Now to the SOGo build part. I have changed somethings here too before starting the process. SOGo/configure script: ARG_GSMAKE=`/usr/local/GNUstep/System/Tools/gnustep-config --variable=GNUSTEP_MAKEFILES` (entered absolute path to gnustep-config) And according to the following thread: http://groups.google.com/group/mailing.freebsd.ports/browse_thread/thread/c29958184947d1a3?pli=1 I have replaced cp -dpR with cp -a in SOPE/NGCards/GNUmakefile.postamble. $ ./configure --enable-debug --disable-strip (OK) $ gmake [output omitted for brevity] ... Making all in Tools ... Making all for tool sogo-tool... Compiling file sogo-tool.m ... Compiling file SOGoTool.m ... Compiling file SOGoToolBackup.m ... Compiling file SOGoToolRestore.m ... Compiling file SOGoToolCheckDoubles.m ... Compiling file SOGoToolRemoveDoubles.m ... Compiling file SOGoToolRemove.m ... Linking tool sogo-tool ... /usr/bin/ld: warning: libOGoContentStore.so.0.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libGDLAccess.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libNGObjWeb.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libNGMime.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libNGStreams.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libNGExtensions.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libEOControl.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libXmlRpc.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libDOM.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libSaxObjC.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libNGLdap.so.4.9, needed by ../SoObjects/SOGo/SOGo.framework/libSOGo.so, not found (try using -rpath or -rpath-link) ./obj/sogo-tool.obj/SOGoToolRemoveDoubles.m.o(.data.rel+0x18): In function `-[NGVList(RemoveDoubles) cardNames]': /home/sogo/SOGo/Tools/SOGoToolRemoveDoubles.m:65: undefined reference to `__objc_class_name_EOQualifier' ../SoObjects/SOGo/SOGo.framework/libSOGo.so: undefined reference to `__objc_class_name_NGLdapConnection' ../SoObjects/SOGo/SOGo.framework/libSOGo.so: undefined reference to `__objc_class_name_SoCookieAuthenticator' ../SoObjects/SOGo/SOGo.framework/libSOGo.so: undefined reference to `__objc_class_name_SoDefaultRenderer' ../SoObjects/SOGo/SOGo.framework/libSOGo.so: undefined reference to `__objc_class_name_SoSecurityManager' ... And the output continues with "undefined reference to ... " until it exits with the following error: collect2: ld returned 1 exit status gmake[4]: *** [obj/sogo-tool] Error 1 gmake[3]: *** [internal-tool-all_] Error 2 gmake[2]: *** [sogo-tool.all.tool.variables] Error 2 gmake[1]: *** [internal-all] Error 2 gmake: *** [internal-all] Error 2 I must tell you that my programming skills are thin close to inexistent. I suspect that I have to somehow tell /usr/bin/ld where to find those libraries which on my system reside in /usr/local/GNUstep/Local/Library/Libraries. I can even see the linker telling me to use -rpath or -rpath-link but honestly I don't know how to that. Should I modify a Makefile? Which one? Should I set some environment variable? I have read the man for ld but with my programming skills missing I can't really understand what they are talking about :). Thank you for reading and support. I intend to broaden my programming skills and build a port for SOGo on FreeBSD because it is an amazing piece of software and maybe others would like/need to use it. Have a great day, v -- network warrior -- [email protected] https://inverse.ca/sogo/lists
