[Evolution-hackers] Getting my homemade CVS build running/working



Hi there Evolution Hackers,

To compile Evolution from CVS (in which I succeeded without any build-
errors), I did the following on a Fedora Core 3 host on which most, if
not all, standard Fedora Core 3 development libraries and packages have
been installed:

yum install libsoup-devel libgcrypt-devel

cvs -z3 co gtkhtml gal evolution-data-server evolution

pushd gtkhtml
./autogen.sh --prefix=/opt/evo/
make
sudo make install
popd

pushd gal
./autogen.sh --prefix=/opt/evo/
make
sudo make install
popd

pushd evolution-data-server
./autogen.sh --prefix=/opt/evo/
make
sudo make install
popd

pushd evolution
PKG_CONFIG_PATH=/opt/evo/lib/pkgconfig/ ./autogen.sh --prefix=/opt/evo/
make
sudo make install
popd


Using the following homemade wrapper-script I am trying to start this
build. 

[evotest lort ~]$ cat /opt/evo/bin/evolution
#! /bin/sh
LD_LIBRARY_PATH=/opt/evo/lib/:/usr/lib/mozilla-1.7.3/
PATH=/opt/evo/bin/:/opt/evo/libexec/:$PATH evolution-2.2
[evotest lort ~]$

I am getting this Error message dialog:

Evolution can not start.

Your system configuration does not match your Evolution configuration.

Click help for details


The help-button redirects me to this webpage (which ain't helping me
really, I've tried all convenient solutions described on that page)


http://support.ximian.com/cgi-bin/ximian.cfg/php/enduser/std_adp.php?
p_faqid=54


This is the on-terminal-output:

[evotest lort ~]$ /opt/evo/bin/evolution
register plugin type 'shlib'
EMenuHook class init 0x8732de8 'EMenuHook'
0x8732f30: list init
EMenu class init 0x8732f30 'EMenu'
e menu class init
0x8733190: list init
es menu class init
register plugin hook type 'org.gnome.evolution.shell.bonobomenu:1.0'
EEventHook: init class 0x8733280 'EEventHook'
EEvent class init 0x87334e0 'EEvent'
register plugin hook type 'org.gnome.evolution.shell.events:1.0'
scanning plugin dir '/opt/evo//lib/evolution/2.2/plugins'
creating plugin 'HTTP Calendars' 'org.gnome.evolution.calendar.http'
Caching plugin description '/opt/evo//lib/evolution/2.2/plugins/org-
gnome-calendar-http.eplug' for unknown future hooks
creating plugin 'Plugin manager' 'org.gnome.evolution.plugin.manager'
loading menu hook
 loading menu
  loading menu item
   path=/commands/EPluginManagerManage
   verb=EPluginManagerManage
 plugin adding factory 0x8733190
0x8733190 adding factory 'org.gnome.evolution.shell' to class 'ESMenu'
scanning plugin dir '/home/evotest/.eplugins'

(evolution-2.2:5999): e-utils-WARNING **: Could not find plugin
path: /home/evotest/.eplugins
evolution-shell-Message: Killing old version of evolution-data-server...
loading error file /opt/evo//share/evolution/2.2/errors/e-system-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/mail-composer-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/addressbook-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/filter-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/shell-errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/calendar-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/mail-errors.xml

(evolution-2.2:5999): e-error.c-WARNING **: No parent set, or default
parent available for error dialog
[evotest lort ~]$ /opt/evo/bin/evolution
register plugin type 'shlib'
EMenuHook class init 0x8724dd0 'EMenuHook'
0x8724f18: list init
EMenu class init 0x8724f18 'EMenu'
e menu class init
0x8725178: list init
es menu class init
register plugin hook type 'org.gnome.evolution.shell.bonobomenu:1.0'
EEventHook: init class 0x8725268 'EEventHook'
EEvent class init 0x87254c8 'EEvent'
register plugin hook type 'org.gnome.evolution.shell.events:1.0'
scanning plugin dir '/opt/evo//lib/evolution/2.2/plugins'
creating plugin 'HTTP Calendars' 'org.gnome.evolution.calendar.http'
Caching plugin description '/opt/evo//lib/evolution/2.2/plugins/org-
gnome-calendar-http.eplug' for unknown future hooks
creating plugin 'Plugin manager' 'org.gnome.evolution.plugin.manager'
loading menu hook
 loading menu
  loading menu item
   path=/commands/EPluginManagerManage
   verb=EPluginManagerManage
 plugin adding factory 0x8725178
0x8725178 adding factory 'org.gnome.evolution.shell' to class 'ESMenu'
scanning plugin dir '/home/evotest/.eplugins'

(evolution-2.2:6079): e-utils-WARNING **: Could not find plugin
path: /home/evotest/.eplugins
evolution-shell-Message: Killing old version of evolution-data-server...
loading error file /opt/evo//share/evolution/2.2/errors/e-system-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/mail-composer-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/addressbook-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/filter-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/shell-errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/calendar-
errors.xml
loading error file /opt/evo//share/evolution/2.2/errors/mail-errors.xml

(evolution-2.2:6079): e-error.c-WARNING **: No parent set, or default 

parent available for error dialog


# or .. when pressing the Help-button

*** nsExtensionManager::_disableObsoleteExtensions - failure, catching
exception so finalize window can close
*** loading the extensions datasource
*** ExtensionManager:_updateManifests: no access privileges to
application directory, skipping.
*** loading the extensions datasource
*** ExtensionManager:_updateManifests: no access privileges to
application directory, skipping.

[evotest lort ~]$



How can I make my build work without the need for uninstalling my
current evolution setup (which is the default Fedora Core 3 packaged
version).

I am prepared to do strange and/or difficult developer-only things. I am
prepared to code for this. 

I assume most Evolution developers have multiple Evolution
instances/deployments running on one host themselves?

I assume it's possible to deploy multiple Evolution instances on one
host?

Else I fear I must say you guys are doing something wrong with the code
and setting the requirements way to high -- I honestly cannot imagine a
single good reason why any application, no matter what size or
complexity, should have the requirement that only one single build can
be deployed on one host. And as a programmer myself, I can assure you
I've seen lots of false reasoning for stupid solutions --

>From a debugger perspective I am seeing a SIGPIPE signal happening on
the first thread. I am assuming this is related to ORBit-2 and/or the
oafd? Should I also install an extra oafd that I have to configure for
this extra Evolution? How do I do that? I have no experience with oafd
but I am willing to learn.

Also note that the oaf module (and also the soup module) in GNOME CVS
have a broken build-system (On Fedora Core 3). Assuming they are for
Evolution important components, their maintainer should update the
autotools stuff. I can imagine the troubles packagers might have.

So if I do have to (re)build oaf (and soup) from CVS, then at this
moment the Evolution-build-procedure is broken.

Also, I've submitted this bugreport:

	http://bugzilla.ximian.com/show_bug.cgi?id=69605

About a missing library-check. evolution-data-server's configure.in
script ain't checking for libgcrypt. The compilation flags, however, are
having a -lgcrypt. Which basically means that if you haven't installed
the libgcrypt-devel package on a Fedora Core 3, the build will fail
during the make-step. Which is, IMHO, a bug. It should have failed
during the autogen.sh/configure step and explain the user about this
library requirement.


This is a backtrace/gdb session

Detaching after fork from child process 6349.
Detaching after fork from child process 6351.
Detaching after fork from child process 6353.

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread -154519872 (LWP 6341)]
0x005277a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) Quit
(gdb) bt
#0  0x005277a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x005fd77b in writev () from /lib/tls/libc.so.6
#2  0x03b02287 in link_connection_read () from /usr/lib/libORBit-2.so.0
#3  0x03b025fc in link_connection_writev ()
from /usr/lib/libORBit-2.so.0
#4  0x03ae3fe1 in giop_send_buffer_write ()
from /usr/lib/libORBit-2.so.0
#5  0x03ae1a2c in giop_connection_close () from /usr/lib/libORBit-2.so.0
#6  0x03ae1a68 in giop_connection_close () from /usr/lib/libORBit-2.so.0
#7  0x0094c8fb in g_object_interface_list_properties ()
from /usr/lib/libgobject-2.0.so.0
#8  0x03b0153d in link_connection_exec_cnx_unref ()
from /usr/lib/libORBit-2.so.0
#9  0x03b00f1f in link_unlock () from /usr/lib/libORBit-2.so.0
#10 0x03b01108 in link_exec_command () from /usr/lib/libORBit-2.so.0
#11 0x03b014fa in link_connection_ref () from /usr/lib/libORBit-2.so.0
#12 0x03aea901 in ORBit_register_objref () from /usr/lib/libORBit-2.so.0
#13 0x03ae80ee in ORBit_RootObject_duplicate_T ()
from /usr/lib/libORBit-2.so.0
#14 0x00000001 in ?? ()
#15 0xfef48e20 in ?? ()
#16 0x00532ab6 in fixup () from /lib/ld-linux.so.2
Previous frame inner to this frame (corrupt stack?)
(gdb)


Perhaps if I do get everything working, and my holiday starts (soon), I
will take a look at some GNOME Bounties which are related to Evolution,
and peek into that large Animal: The Evolution Code. But it's not a
promise :-). 

Of course. Without a running deployment, I can't test the code I am
throwing in. And it's silly to submit untested code, right? :)

IMHO it's a better idea to first throw build-from-cvs documentation to
people (like me) than to just and only throw GNOME money at them in the
form of bounties. 


-- 
Philip Van Hoof, Software Developer @ Cronos
home: me at freax dot org
gnome: pvanhoof at gnome dot org
work: philip dot vanhoof at cronos dot be
junk: philip dot vanhoof at gmail dot com
http://www.freax.be, http://www.freax.eu.org




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]