Thread: Building pgadmin on Fedora core 2
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.
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=
-----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-----
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.
-----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-----
> 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
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
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