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

Reply via email to