[OGo-MacOSX] Instructions for MacOSX install... with some problems
Alexander Lamb
macosx@opengroupware.org
Fri, 21 Apr 2006 12:29:15 +0200
Hello,
Sorry for cross posting... I simply "replied" to the other post!
Here is the post which should have been in this list:
====
Ok,
It is not perfect, but here is what I managed to do. Basically, it
compiles, installs.... however, when I run the server I get errors
and can't connect to it (neither in direct mode, nor through the
Apache adaptor).
The errors I get in the terminal are:
($:/GNUstep/Tools)-> /GNUstep/Tools/ogo-webui-1.1 -WOPort 20000 -
WOHttpAllowHost localhost
2006-04-21 12:23:36.978 ogo-webui-1.1[12360] ERROR(NGBundleManager):
did not find bundle 'LSAddress' (type=cmd) required by bundle /
GNUstep/Library/OpenGroupware.org-1.1/Commands/LSAccount.cmd.
2006-04-21 12:23:37.011 ogo-webui-1.1[12360] account::change-
password: using password field: 'userPassword'
2006-04-21 12:23:37.016 ogo-webui-1.1[12360] ERROR(NGBundleManager):
did not find bundle 'LSSearch' (type=cmd) required by bundle /GNUstep/
Library/OpenGroupware.org-1.1/Commands/LSAddress.cmd.
2006-04-21 12:23:37.046 ogo-webui-1.1[12360] Note: storing cached
vCards files in: '/var/lib/opengroupware.org/documents'
2006-04-21 12:23:37.077 ogo-webui-1.1[12360] ERROR(NGBundleManager):
did not find bundle 'LSSearch' (type=cmd) required by bundle /GNUstep/
Library/OpenGroupware.org-1.1/Commands/LSDocuments.cmd.
2006-04-21 12:23:37.106 ogo-webui-1.1[12360] ERROR(NGBundleManager):
did not find bundle 'LSSearch' (type=cmd) required by bundle /GNUstep/
Library/OpenGroupware.org-1.1/Commands/LSMail.cmd.
2006-04-21 12:23:37.111 ogo-webui-1.1[12360] ERROR: did not find
executable sendmail file: '/usr/lib/sendmail'
2006-04-21 12:23:37.138 ogo-webui-1.1[12360] ERROR(NGBundleManager):
did not find bundle 'LSSearch' (type=cmd) required by bundle /GNUstep/
Library/OpenGroupware.org-1.1/Commands/LSProject.cmd.
2006-04-21 12:23:37.217 ogo-webui-1.1[12360] Note: members of role
team 'team creators' are allowed to create teams.
2006-04-21 12:23:37.386 ogo-webui-1.1[12360] Note: located themes:
OOo, blue, kde, orange
2006-04-21 12:23:37.388 ogo-webui-1.1[12360] Note: located no
additional translations.
Apr 21 12:23:37 ogo-webui-1.1 [12360]: |ogo-webui-1.1| CTI Dialers:
2006-04-21 12:23:37.404 ogo-webui-1.1[12360] WOCompoundElement: pool
embedding is on.
2006-04-21 12:23:37.404 ogo-webui-1.1[12360] WOCompoundElement: id
logging is on.
Apr 21 12:23:37 ogo-webui-1.1 [12360]: [WARN] <0x005B9230
[OGoContextManager]> disabled login spaces which are unsupported on
this Foundation library.
Apr 21 12:23:37 ogo-webui-1.1 [12360]: |ogo-webui-1.1| root has no
password, you need to assign one!
Apr 21 12:23:37 ogo-webui-1.1 [12360]: |ogo-webui-1.1|
OpenGroupware.org instance initialized.
Apr 21 12:23:37 ogo-webui-1.1 [12360]: |ogo-webui-1.1| WOHttpAdaptor
listening on address *:20000
====
Now, here are the instructions I put together with the help of the
documentation and feedback from Helge!
==============================================
OpenGroupware MacOSX Install:
1: Postgres install and initial config
======================================
Download it from www.entropy.ch
It's easy, it's a package.
Then follow instructions on site to create a postgres user and start
the database server.
You can also install a package which shall create a StartupItem in /
Library to start postgres upon startup of the system.
Now, you need to create a database for OGo. If you create a database
called OGo with a user OGo and no password, the OGo server will login
automatically without needing any additionnal setup.
First become postgres (if you are continuing from the steps described
on the entropy site, you are probably already postgres):
su - postgres
Then create a OGo user:
/usr/local/bin/createuser OGo
(answer no to the three questions: is a super user, can create
databases, can create roles)
Finally create the database (named OGo with owner OGo):
/usr/local/bin/createdb -O OGo OGo
To check the database exists, you can simply connect to it:
/usr/local/bin/psql OGo
If you are doing this from your postgres account (suggested) you will
be a superuser for this database and see the following prompt:
OGo=#
You can quit typing "\q"
Now exit from your postgres account:
exit
And try to connect again to the database, but this time you will need
to identify yourself:
/usr/local/bin/psql -U OGo
No password is needed (we didn't set one on purpose) so you will see
the following prompt:
OGo=>
Quit by typing "\q"
2: Create a workspace and download the source for SOPE and OGo
==============================================================
For example create : $HOME/_Workspace
Then get the SOPE package:
for example, the latest release of SOPE (as of 19th of april 2006)
svn co http://svn.opengroupware.org/SOPE/releases/4.5.6-morecore/
$HOME/_Workspace/SOPE-4.5.6
and the latest release of OGo
svn co http://svn.opengroupware.org/OpenGroupware.org/releases/1.1.3-
moveon/ $HOME/_Workspace/OGo-1.1.3
4: Compile the source
=====================
Although the distribution contains xcode projects, in order to
compile and run OGo, you need to compile it in the GNUstep way. This
will ensure the libraries are compiled and installed in the correct
place for OGo.
4.1: Preparing the make environment
===================================
There are two things important here. The first is to decide where the
GNUstep directory is going to be installed. You could put it in your
home but since it will be used for libraries, etc... I recommend
simply puting at the root of your disk (like /opt or /usr). The
second important thing is to specify apple-apple-nil for the library-
combo option. This will indicate you are using the Cocoa libraries
instead of the GNUstep libraries for a certain number of foundation
functions.
So, from your SOPE directory:
cd gnustep-make
./configure --prefix=/GNUstep \
--without-system-root \
--with-network-root=/GNUstep \
--with-local-root=/GNUstep \
--with-user-root=/GNUstep \
--with-library-combo=apple-apple-nil
Now you can build your GNUstep environment:
make install
You can see a /GNUstep directory at the root of your disk.
Now, run:
source /GNUstep/Library/Makefiles/GNUstep.sh
(assuming you put GNUstep at the root of your disk).
In order to have environment variables correctly set, it is a good
idea to add that line to your .bashrc file in your home directory (or
in any home which might have to compile or run OGo).
4.2: Compile and install SOPE
=============================
First go to the SOPE directory.
Then run configure:
./configure --disable-strip --enable-debug --with-gnustep
Then make:
make all
Then make install (if you are installing in the GNUstep tree you
created yourself, you shouldn't need to sudo):
make install
The install will add (in your GNUstep tree):
Library/GDLAdaptors-4.5/...
Library/SaxDrivers-4.5/...
Library/SaxMappings/...
Library/SoProducts-4.5/...
Library/WOxElemBuilders-4.5/...
Library/Headers/manydirectoriesfullofheaders...
Library/Libraries/manylibraries...
Library/Libraries/Resources/NGObjWeb/...
Library/Makefiles/woapp.make
Library/Makefiles/wobundle.make
Library/Makefiles/Additional/ngobjweb.make
Library/Tools/connect-EOAdaptor
Library/Tools/domxml
Library/Tools/gcs_cat
Library/Tools/gcs_gensql
Library/Tools/gcs_ls
Library/Tools/gcs_mkdir
Library/Tools/gcs_recreatequick
Library/Tools/ldap2dsml
Library/Tools/ldapchkpwd
Library/Tools/ldapls
Library/Tools/load-EOAdaptor
Library/Tools/rss2plist1
Library/Tools/rss2plist2
Library/Tools/rssparse
Library/Tools/saxxml
Library/Tools/sope-4.5
Library/Tools/testqp
Library/Tools/wod
Library/Tools/xmln
Library/Tools/xmlrpc_call
4.3: Compile and install OGo
============================
First go to the OGo directory.
Then run configure:
./configure --disable-strip --enable-debug --with-gnustep
Then make:
make all
You might see some warnings such as
Linking bundle PrefsUI ...
/usr/bin/ld: warning can't open dynamic library:
libLSFoundation_d.dylib.5.3 referenced from: ../ZSBackend/./
shared_debug_obj/libZSBackend_d.dylib (checking for undefined symbols
may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libNGLdap_d.dylib.
4.5 referenced from: ../ZSBackend/./shared_debug_obj/
libZSBackend_d.dylib (checking for undefined symbols may be affected)
(No such file or directory, errno = 2)
or
Linking bundle LSAddress ...
/usr/bin/ld: warning can't open dynamic library: libNGiCal_d.dylib.
4.5 referenced from: ././shared_debug_obj/libLSAddress_d.dylib
(checking for undefined symbols may be affected) (No such file or
directory, errno = 2)
But it doesn't seem to be important...
Then install:
make install
The install process moved some files to your GNUstep tree:
OpenGroupware.org-1.1/...
Library/Headers/LSFoundation/...
Library/Headers/OGoAccounts/...
Library/Headers/OGoBase/...
Library/Headers/OGoContacts/...
Library/Headers/OGoDatabaseProject/...
Library/Headers/OGoDocuments/...
Library/Headers/OGoFileSystemProject/...
Library/Headers/OGoFoundation/...
Library/Headers/OGoJobs/...
Library/Headers/OGoProject/...
Library/Headers/OGoRawDatabase/...
Library/Headers/OGoScheduler/...
Library/Headers/OGoSchedulerTools/...
Library/Headers/OGoWebMail/...
Library/Libraries/...
Library/Libraries/Resources/OGoScheduler/...
Tools/load-LSModel
Tools/ogo-webui-1.1
5: Create the OGo database schema
=================================
So, now everything is in place, we can create the Postgres database
schema.
Again become a postgres user:
su - postgres
Then go to the directory containing the scripts (in the OGo source
tree):
cd the_path_to_ogo/Database/PostgreSQL
Connect to the database OGo as user OGo and run the script:
/usr/local/bin/psql -h localhost OGo OGo < pg-build-schema.psql
6: Enable OGo to find its resources
===================================
From the command line (as usuall):
pushd $GNUSTEP_USER_ROOT
ln -s the_path_to_the_ogo_sources/OGo-1.1.3/WebUI/Resources .
(don't forget the final "." and don't add a trailing "/" to Resources)
ln -s the_path_to_the_ogo_sources/OGo-1.1.3/Themes/WebServerResources .
ln -s the_path_to_the_ogo_sources/_Workspace/OGo-1.1.3/WebUI/
Templates Library/OpenGroupware.org-1.1/Templates
You can now see a in your GNUstep root, a link to Resources, another
one to WebServerResources and one to Templates in Library/
OpenGroupware.org-1.1
7: Build the Apache adaptor
===========================
The adaptor is in your SOPE source:
cd path_to_sope/SOPE-4.5/sope-appserver/mod_ngobjweb
You will need to edit the GNUMakeFile (make a backup first) and
comment out the following lines:
# lowercase are commandline args (eg make apxs=/usr/bin/apxs)
#ifneq ($(apxs),no)
#ifneq ($(apxs),yes)
#ifneq ($(apxs),)
#APXS=$(apxs)
#else
#APXS=$(shell which apxs 2>/dev/null)
#endif
#else
#APXS=$(shell which apxs 2>/dev/null)
#endif
#else
#APXS=
#endif
# lowercase are commandline args (eg make apr=/usr/bin/apr)
#ifneq ($(apr),no)
#ifneq ($(apr),yes)
#ifneq ($(apr),)
#APR=$(apr)
#else
#APR=$(shell which apr-config 2>/dev/null)
#endif
#else
#APR=$(shell which apr-config 2>/dev/null)
#endif
#else
#APR=
#endif
#ifeq ($(APXS),)
#APXS=$(shell which apxs2 2>/dev/null)
#ifeq ($(APXS),)
#APXS = $(APACHE)/sbin/apxs2
#endif
#endif
Then build the adaptor:
make
It should create (after a few warnings) a file called mod_ngobjweb.so
You need to copy it into the modules directory for Apache:
sudo cp mod_ngobjweb.so /usr/libexec/httpd
Then modify your httpd.conf file to make Apache load the module.
It is located in /etc/httpd
After the lines loading other modules, add:
LoadModule ngobjweb_module libexec/httpd/mod_ngobjweb.so
Same after the line adding the .c files:
AddModule ngobjweb_module.c
In order to have the module redirect calls correctly, you need to add
this to the end of the httpd.conf file:
<LocationMatch "^/OpenGroupware*">
SetHandler ngobjweb-adaptor
SetAppPort 20000
</LocationMatch>
8: Start the server!
====================
Make sure you stoped and started the Apache server (simplest through
the preferences panel "Sharing").
Then start from a terminal your OGo server:
/GNUstep/Tools/ogo-webui-1.1 -WOPort 20000 -WOHttpAllowHost localhost
9: Connect to the server
========================
In a browser, type
http://localhost/OpenGroupware
===
--
Alexander Lamb
alamb@mac.com
On Apr 21, 2006, at 6:50 AM, Alexander Lamb wrote:
> Hello,
>
> I am in the middle of it. Currently writing a little summary.
> If you can "give" me half a day, I will post some explanation (I
> didn't have time to go through the whole install yet).
>
> Alex
> --
> Alexander Lamb
> alamb@mac.com
>
>
>
> On Apr 20, 2006, at 9:51 PM, Peter Schraufstetter wrote:
>
>
>> Hi folks,
>>
>> has anybody here setup OGo on Mac OS X (Tiger)?
>> I tried to install it but i am getting errors during the
>> installation when compiling SOPE during the "make install" .
>>
>> Here are the last lines of my terminal output:
>>
>> make[3]: *** [internal-bundle-install_] Error 1
>> make[2]: *** [libxmlSAXDriver.install.bundle.variables] Error 2
>> make[1]: *** [internal-install] Error 2
>> make: *** [internal-install] Error 2
>>
>> I have no idea what goes wrong.
>>
>> Thanx
>> Peter
>> --
>> OpenGroupware.org Users
>> users@opengroupware.org
>> http://mail.opengroupware.org/mailman/listinfo/users
>>
>
> --
> OpenGroupware.org Users
> users@opengroupware.org
> http://mail.opengroupware.org/mailman/listinfo/users
>
--
Alexander Lamb
alamb@mac.com