This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: gnome 2.8.0 and external dependencies
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- To: cygwin-apps at cygwin dot com
- Date: Sun, 3 Oct 2004 02:00:00 +0200
- Subject: Re: gnome 2.8.0 and external dependencies
- Organization: Esse keine toten Tiere
- References: <274233419.20040915234721@familiehaase.de><4151E33F.9090601@users.sourceforge.net><1776831425.20040923002131@familiehaase.de><4157A4FA.2020202@users.sourceforge.net>
Hello Yaakov,
I cannot run libbonobo executables without getting this stupid access
violation error.
I have all base libraries recompiled, glib2, atk & pango are already
uploaded, gtk2-x11 is ready, but I cannot run the executables linked
against these libs. I tried to rebuild IDL & ORBit, IDL works,
ORBit fails since I cannot run orbit-idl-2.exe. This means, ORBit
cannot be the culprit since this executable is not linked against
ORBit. Your version is working. Huh. Which gcc version was used to
compile the current releaased ORBit package? I have 3.4.1 here now
and all fails...
Then I'm still far away from really understanding what Charles found
to be the problem with the .rdata sections.
Now, what I found is:
There are exactly three symbols in an .rdata section in the
idl-compiler main object:
_cl_cpp_callback_options
_cl_libIDL_callback_options
_options
The source:
static const
struct poptOption cl_libIDL_callback_options[] = {
[snip]
static const
struct poptOption cl_cpp_callback_options[] = {
[snip]
static const
struct poptOption options[] = {
[snip]
What I did now was to remove the 'const' from these three definitions
and then it works, hurra!
Now I have to dig through at least all objects in packages where I
have failing executables, maybe more.
Take this fix for upcoming ORBit packages and as an example what to do
if there are executables failing.
What I did at first was:
find . -name "*.o" | xargs nm | grep ' r _' > ../.rdata-symbols.list
Second, remove all symbols with two leading underscores, remove all
garbage and newlines and see which symbols are remaining. We should
create a handy script to do this.
Now, since I found a way around this problem, I think I'll have a
version of libbonobo and GConf ready for testing tomorrow.
Gerrit
--
=^..^=