Thread: Building pgadmin on Fedora core 2

Building pgadmin on Fedora core 2

From
"Scot L. Harris"
Date:
Running Fedora Core 2 trying to build pgadmin3 from source.

Build wxWindows from sources.  Appeared to build and install no problem.

But when building pgadmin get the following error as it tries to build
pgadmin3.

/usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_settings.o)(.text+0xa55):
In function `wxSystemSettingsNative::GetFont(wxSystemFont)':
src/gtk/settings.cpp:346: undefined reference to
`_gtk_rc_context_get_default_font_name'
/usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xc5c): In
function `wxMenubarUnsetInvokingWindow':
src/gtk/menu.cpp:275: undefined reference to `_gtk_accel_group_detach'
/usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xd76): In
function `wxMenubarSetInvokingWindow':
src/gtk/menu.cpp:299: undefined reference to `_gtk_accel_group_attach'
/usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xe91): In
function `wxMenuBar::SetInvokingWindow(wxWindow*)':
src/gtk/menu.cpp:323: undefined reference to `_gtk_accel_group_attach'
/usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xf68): In
function `wxMenuBar::UnsetInvokingWindow(wxWindow*)':
src/gtk/menu.cpp:344: undefined reference to `_gtk_accel_group_detach'
collect2: ld returned 1 exit status

I saw similar errors described in the archives but I did not see any
fixes posted.

Does anyone have any ideas regarding these errors?

Had no problems building this under Red Hat 8.0.




--
Scot L. Harris
webid@cfl.rr.com

meeting, n.:
    An assembly of people coming together to decide what person or
    department not represented in the room must solve a problem.


Re: [GENERAL] Building pgadmin on Fedora core 2

From
Joe Conway
Date:
Scot L. Harris wrote:
> Running Fedora Core 2 trying to build pgadmin3 from source.
>
> Build wxWindows from sources.  Appeared to build and install no problem.
>
> But when building pgadmin get the following error as it tries to build
> pgadmin3.
>
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_settings.o)(.text+0xa55):
> In function `wxSystemSettingsNative::GetFont(wxSystemFont)':
> src/gtk/settings.cpp:346: undefined reference to
> `_gtk_rc_context_get_default_font_name'
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xc5c): In
> function `wxMenubarUnsetInvokingWindow':
> src/gtk/menu.cpp:275: undefined reference to `_gtk_accel_group_detach'

After lots of googling I found reference to the fact that wxWindows uses
gtk functions that are supposed to be internal use only (i.e. all the
_gtk* functions). The version of gtk that ships with fc2 no longer
exports these symbols. My solution was to patch gtk to re-allow export
of the internal symbols -- see attached patch.

I could not get gtk+-2.4.0 to build on my system starting from the
(supposedly) fc2 src rpm. So I ended up building a gtk+-2.4.1 rpm using
the patched source as mentioned above. From there, all was well with
pgadmin3.

Mail me off-list if you'd like a copy of my modified src rpm.

HTH,

Joe
diff -cr gtk+-2.4.1/configure.in gtk+-2.4.1.patched/configure.in
*** gtk+-2.4.1/configure.in    2004-04-30 09:02:06.000000000 -0700
--- gtk+-2.4.1.patched/configure.in    2004-06-17 17:00:47.000000000 -0700
***************
*** 331,337 ****
  if test "$os_win32" != yes; then
      # libtool option to control which symbols are exported
      # right now, symbols starting with _ are not exported
!     LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
  else
      # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
      LIBTOOL_EXPORT_OPTIONS=
--- 331,338 ----
  if test "$os_win32" != yes; then
      # libtool option to control which symbols are exported
      # right now, symbols starting with _ are not exported
!     #LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
!     LIBTOOL_EXPORT_OPTIONS=
  else
      # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
      LIBTOOL_EXPORT_OPTIONS=

Re: [GENERAL] Building pgadmin on Fedora core 2

From
"Adam H. Pendleton"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Joe Conway wrote:

| Scot L. Harris wrote:
|
|> Running Fedora Core 2 trying to build pgadmin3 from source.
|>
|> Build wxWindows from sources.  Appeared to build and install no problem.
|>
|> But when building pgadmin get the following error as it tries to build
|> pgadmin3.
|>
|> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_settings.o)(.text+0xa55):
|> In function `wxSystemSettingsNative::GetFont(wxSystemFont)':
|> src/gtk/settings.cpp:346: undefined reference to
|> `_gtk_rc_context_get_default_font_name'
|> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xc5c): In
|> function `wxMenubarUnsetInvokingWindow':
|> src/gtk/menu.cpp:275: undefined reference to `_gtk_accel_group_detach'
|
|
| After lots of googling I found reference to the fact that wxWindows uses
| gtk functions that are supposed to be internal use only (i.e. all the
| _gtk* functions). The version of gtk that ships with fc2 no longer
| exports these symbols. My solution was to patch gtk to re-allow export
| of the internal symbols -- see attached patch.
|
| I could not get gtk+-2.4.0 to build on my system starting from the
| (supposedly) fc2 src rpm. So I ended up building a gtk+-2.4.1 rpm using
| the patched source as mentioned above. From there, all was well with
| pgadmin3.

Would it be better for us to put a patch into our wxWindows tree for
this, rather than patching gtk?  Do we really want to maintain a gtk
patch as well?  Also, I've built pgAdmin3 on a fresh FC2 without having
to patch anything, which means that there are probably changes in the
wxWindows tree to fix this.  Perhaps we can backport them?

ahp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows 2000)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFA2Ywcf/U4M//FQ/URAgKiAKC4KixjUlGgTebwgZsiFf+lRS5rIACdGZQh
jRBCMvZWmTj4vTmJ2XEdt9M=
=AdzQ
-----END PGP SIGNATURE-----

Re: [GENERAL] Building pgadmin on Fedora core 2

From
"Scot L. Harris"
Date:
On Wed, 2004-06-23 at 09:56, Adam H. Pendleton wrote:

> Would it be better for us to put a patch into our wxWindows tree for
> this, rather than patching gtk?  Do we really want to maintain a gtk
> patch as well?  Also, I've built pgAdmin3 on a fresh FC2 without having
> to patch anything, which means that there are probably changes in the
> wxWindows tree to fix this.  Perhaps we can backport them?
>
> ahp

I for one would much prefer a patch in the wxWindows code.  I am
reluctant to start maintaining a different version of gtk+ just for this
application.

It is interesting that you managed to build pgadmin3 on  FC2.  That is
where I started working on this.  Did you use a newer version of
wxWindows?

wxWindows-pgAdmin3-20031010-7.tar is the version I have been trying to
use.  I built it just fine on an RedHat 8.0 system but on FC2 I get the
errors reported previously.

pgadmin3-1.0.2.tar.gz is the pgadmin3 version I am using.  I also had to
track down a patch to fix a problem with the configure script for this
version.  pgadmin3_1.0.2-0.1.diff.  I found this in the archives.

The only other issue I ran into was making sure I had ssl support
complied into postgresql-7.4.2 since the pgadmin make file appear to be
unable to deal with not having ssl support included.

So what versions of these packages did you get to compile under FC2
without problems?

--
Scot L. Harris
webid@cfl.rr.com

Tomorrow, this will be part of the unchangeable past but fortunately,
it can still be changed today.


Re: [GENERAL] Building pgadmin on Fedora core 2

From
"Adam H. Pendleton"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Scot L. Harris wrote:

I took of pgsql-general, since this is largely a pgAdmin issue at this
point.

| I for one would much prefer a patch in the wxWindows code.  I am
| reluctant to start maintaining a different version of gtk+ just for this
| application.

Agreed.

|
| It is interesting that you managed to build pgadmin3 on  FC2.  That is
| where I started working on this.  Did you use a newer version of
| wxWindows?

I used the CVS HEAD code.  This was as of last week.

|
| wxWindows-pgAdmin3-20031010-7.tar is the version I have been trying to
| use.  I built it just fine on an RedHat 8.0 system but on FC2 I get the
| errors reported previously.
|
| pgadmin3-1.0.2.tar.gz is the pgadmin3 version I am using.  I also had to
| track down a patch to fix a problem with the configure script for this
| version.  pgadmin3_1.0.2-0.1.diff.  I found this in the archives.
|

That's the correct version to use, we just need to find the appropriate
code in the CVS tree of wxWindows and see if it can be backported to our
wxWindows build.  It's a pain, but it's better than asking people to
compile gtk.

ahp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows 2000)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFA2Y9mf/U4M//FQ/URArPIAKDkrkSGSMnyYCWz/AGPoI3trD3aUwCg5g/8
XzVHw8wnvdxafMsP1T0s1Mk=
=mOYi
-----END PGP SIGNATURE-----


Re: [GENERAL] Building pgadmin on Fedora core 2

From
Jean-Michel POURE
Date:
> I used the CVS HEAD code.  This was as of last week.

Before everything, we should ask Andreas what he thinks about these fixes. We
have been waiting for wx fixes for a year now, which is an infinite time in
computing.  By the way Adam, what is the state of the MacOsX wxFixMe port?

Cheers,
Jean-Michel


Re: [GENERAL] Building pgadmin on Fedora core 2

From
Andreas Pflug
Date:
Adam H. Pendleton wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Joe Conway wrote:
>
> | Scot L. Harris wrote:
> |
> |> Running Fedora Core 2 trying to build pgadmin3 from source.
> |>
> |> Build wxWindows from sources.  Appeared to build and install no 
> problem.
> |>
> |> But when building pgadmin get the following error as it tries to build
> |> pgadmin3.
> |>
> |> 
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_settings.o)(.text+0xa55):
> |> In function `wxSystemSettingsNative::GetFont(wxSystemFont)':
> |> src/gtk/settings.cpp:346: undefined reference to
> |> `_gtk_rc_context_get_default_font_name'
> |> 
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xc5c): In
> |> function `wxMenubarUnsetInvokingWindow':
> |> src/gtk/menu.cpp:275: undefined reference to `_gtk_accel_group_detach'
> |
> |
> | After lots of googling I found reference to the fact that wxWindows 
> uses
> | gtk functions that are supposed to be internal use only (i.e. all the
> | _gtk* functions). The version of gtk that ships with fc2 no longer
> | exports these symbols. My solution was to patch gtk to re-allow export
> | of the internal symbols -- see attached patch.
> |
> | I could not get gtk+-2.4.0 to build on my system starting from the
> | (supposedly) fc2 src rpm. So I ended up building a gtk+-2.4.1 rpm using
> | the patched source as mentioned above. From there, all was well with
> | pgadmin3.
>
> Would it be better for us to put a patch into our wxWindows tree for
> this, rather than patching gtk?  


At first glance, for _gtk_rc_context_get_default_font_name wx cvs has a 
reimplementation for it, while gtk_accel_group_detach still seems to be 
in use. Anyhow, I agree that we never-ever should also start to patch 
gtk; wx patching is nightmare enough.

For LinuxTag's sake, I don't have the time to check this further. But 
after that I'll even see if I can reimplement some wxrc stuff to work 
around wx cvs weakness about fonts. Any investment on the wx side in 
this topic is just a waste of time.

Regards,
Andreas




Re: [GENERAL] Building pgadmin on Fedora core 2

From
Joe Conway
Date:
Adam H. Pendleton wrote:
> Joe Conway wrote: | Scot L. Harris wrote: |> Running Fedora Core 2
> trying to build pgadmin3 from source. |> |> Build wxWindows from
> sources.  Appeared to build and install no problem. |> |> But when
> building pgadmin get the following error as it tries to build |>
> pgadmin3. |> |>
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_settings.o)(.text+0xa55):
>  |> In function `wxSystemSettingsNative::GetFont(wxSystemFont)': |>
> src/gtk/settings.cpp:346: undefined reference to |>
> `_gtk_rc_context_get_default_font_name' |>
> /usr/local/lib/libwx_gtk2ud_core-2.5.a(corelib_menu.o)(.text+0xc5c):
> In |> function `wxMenubarUnsetInvokingWindow': |>
> src/gtk/menu.cpp:275: undefined reference to
> `_gtk_accel_group_detach'

> | | After lots of googling I found reference to the fact that
> wxWindows uses | gtk functions that are supposed to be internal use
> only (i.e. all the | _gtk* functions). The version of gtk that ships
> with fc2 no longer | exports these symbols. My solution was to patch
> gtk to re-allow export | of the internal symbols -- see attached
> patch.

> Would it be better for us to put a patch into our wxWindows tree for
> this, rather than patching gtk?  Do we really want to maintain a gtk
> patch as well?

Perhaps, but I have no idea what the implications are for wxWindows if
you remove the _gtk* calls. I really didn't want to take the time myself
to evaluate it. Clearly that is what needs to happen in the long run though.

> Also, I've built pgAdmin3 on a fresh FC2 without having to patch
> anything, which means that there are probably changes in the
> wxWindows tree to fix this.  Perhaps we can backport them?

Not sure. My attempts were also on a fresh FC2 install, and I had the
problem as described by Scot.

Joe